大数据

大数据专家是怎样炼成的?

由于很少看到学习大数据的知识图谱,所以这里斗胆分享一家之言。同时,大数据有很多细分领域,这里特指通过分布式技术在海量数据中了解并分析过去发生了什么(what happened)、为什么会发生(why did it happen)、正在发生什么(what is happening),而预测将来会发生什么(what will happen)的高级分析往往基于机器学习和数据挖掘,值得将来独立成章深入讨论,这里暂且不表。

在成为大数据专家的道路上,往往要经历六个坎坷,让我们以六个年级来标明他们。只有战胜眼前的坎坷,才能升入下一个年级。当然,有些如Doug Cutting或者Jeff Dean等天才同学,无师自通可以连跳好几级偶尔也是有的。

一年级

第一个年级要学习的是理论。所有想成为大数据专家的人,必须先要阅读一些经典的大数据理论知识,包括Schönberger的《大数据时代》和涂子沛的《大数据》等,只有在积累了大量的理论知识后,你才能跨入下一个年级。但这个年级有一个很特殊的规定,因为有些同学动手能力超强,所以他们可以跳过这个年级直接进入实战去感悟这些理论。

  • 大数据,涂子沛分享了数据在美国崛起中起到的关键作用。
  • 大数据时代,Viktor Mayer-Schönberger通过真实案例分享了大数据的商业变革和管理变革。
  • 大数据思维与决策,Ian Ayres解释了数字化思考如何让企业变得更聪明。
  • 大数据才是好数据,Kenneth Cukier精彩的TED演讲,大数据科学家也需要作秀的能力。
  • 深入浅出数据分析,Michael Milton编写的虽然是关于概率统计的入门教程,但是延续了Head First一如既往的寓教于乐且用到的R或Excel如今都有大数据实现,推荐初学者一读。

二年级

第二个年级学习的内容是实践,也就是用大数据产品完成一些简单目标。费尔巴哈说过,理论所不能解决的那些疑难,实践会给你解决:

纸上得来终觉浅,绝知此事要躬行。

三年级

第三个年级学习的内容是实战,这是极为重要的。那些理论学习中的优秀学生如果不能过这一关,他们就将获得一个光荣的成就——纸上谈兵。

我们来解释一下为什么实战如此重要。虽然大数据理论都是高年级的学长们经验总结,但他们写这些东西的时候情况和现状是不完全一样的,在实战中如果照搬是要吃大亏的。作为一个想成为大数据专家的学员,一般都是从项目干起,因为只有项目才能让一个人成为真正的专家,必须亲密与客户交流澄清需求细节,亲手敲打键盘架构大数据平台,亲身经历运维不知白昼与黑夜,明白无法交付项目是要饿肚子的,了解不能运维是要挨客户骂的,他们才会明白什么是实战。

大多数学员会在这一关被淘汰,他们会改行,一生当一个大数据票友,这对他们来说并不见得是一件坏事。而留存下来的那些学员,在残酷的项目实战中逐渐了解了大数据的规律,开始真正走上专家之路。

四年级

好了,我们带领剩下的学员来到四年级,四年级需要学习的是结合大数据与云计算。

云计算为大数据提供无尽的资源,大数据为云计算带来数据服务。大数据与云计算的关系好比倚天与屠龙,单独使用已然是神兵利器,结合起来更能得到《九阴真经》、《降龙十八掌》和《武穆遗书》。

云计算平台上的大数据服务大致分两种:

  • 在云主机上部署Apache基金会提供的开源大数据软件,软件授权费用很低但是需要自行运维。
  • 使用云计算平台提供的托管大数据服务,用起来省心不过迁移相对困难。

下面是部分云计算平台提供的大数据服务与Apache基金会提供的开源大数据软件的对比:

Microsoft Amazon Apache
存储 Blob Storage S3 HDFS
计算 HDInsight
Data Lake
EMR Hadoop
Spark
Flink
数据库 SQL Database RDS
Aurora
NoSQL Table Storage
Doc DB
Dynamo DB HBase
Cassandra
数据仓储 SQL DW RedShift Hive
Pig
Drill
HAWK
Druid
Impala
商务智能 Power BI Quick Sight
消息系统 Event Hub Kinesis Streams Kafka
流处理 Stream Analytics Kinesis Analytics
Kinesis Firehose
Storm
Samza
数据流 Data Factory Data Pipeline Beam
Ozzie
Ni-Fi

当然,有的云计算平台提供了开源大数据软件的托管服务,即降低了授权费用又不用操心运维。百度云天算大数据平台就是一个例子。

这就是四年级学员要做到的。能过这一关的人已经很少了,剩下的精英们,我们继续前进!

五年级

五年级是最重要的一个年级,在这个年级里,学员们要学习的是判断。你要明白的是,你所掌握的是项目的成败,你就是指挥,而所有的人都等着你拿注意。如果你能从那变化莫测的架构和纷繁芜杂的技术中发现其中的奥妙,并就此做出正确的决断,那么恭喜你,你已经具备了大数据专家最主要的素质。

判断并非无据可依。德国有种智慧,叫做生活是具体的,也就是提倡不要泛泛地谈概念,关键是要拿出来比一比。归类后的大数据文献罗列于斯,对于不同选择的优缺点了然于胸便可以进入下一个阶段。

资源调度

  • Apache Hadoop YARN – Yet Another Resource Negotiator
  • Mesos – A Platform for Fine-Grained Resource Sharing in the Data Center
  • Fuxi – a Fault-Tolerant Resource Management and Job Scheduling System at Internet Scale
  • Omega – Flexible, Scalable Schedulers for Large Compute clusters
  • Large-scale Cluster Management at Google with Borg
  • Autopilot – Automatic Data Center Management

海量存储

  • The Google File System
  • The Hadoop Distributed File System
  • Windows Azure Storage – A Highly Available Cloud Storage Service with Strong Consistency
  • Erasure Coding in Windows Azure Storage

NoSQL

  • Dynamo – Amazon’s Highly Available Key-Value Store
  • Bigtable – A Distributed Storage System for Structured Data
  • Cassandra – A Decentralized Structured Storage System

NewSQL

  • Megastore – Providing Scalable, Highly Available Storage for Interactive Services
  • Spanner – Google’s Globally Distributed Database
  • F1 – A Distributed SQL Database that Scales

分布计算

  • Massively Parallel Databases and MapReduce Systems
  • MapReduce – Simplified Data Processing on Large Clusters
  • Spark – Cluster Computing with Working Sets
  • Resilient Distributed Datasets – A Fault-Tolerant Abstraction for In-Memory Cluster Computing
  • The Stratosphere Platform for Big Data Analytics
  • Spinning Fast Iterative Data Flows
  • Dryad – Distributed Data-parallel Programs from Sequential Building Blocks
  • SCOPE – Easy and Efficient Parallel Processing of Massive Data Sets
  • DryadLINQ – A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language

流式处理

  • Storm @ Twitter
  • Twitter Heron – Stream Processing at Scale
  • S4 – Distributed Stream Computing Platform
  • Discretized Streams – Fault-Tolerant Streaming Computation at Scale
  • MillWheel – Fault-Tolerant Stream Processing at Internet Scale
  • Kafka – a Distributed Messaging System for Log Processing
  • Realtime Data Processing at Facebook
  • Building LinkedIn’s Real-time Activity Data Pipeline

数据仓储

  • Hive – A Petabyte Scale Data Warehouse Using Hadoop
  • Hive – A Warehousing Solution Over a Map-Reduce Framework
  • Major Technical Advancements in Apache Hive
  • RCFile – A Fast and Space-efficient Data Placement Structure in MR-based Warehouse Systems
  • Kudu – Storage for Fast Analytics on Fast Data
  • Data Warehousing and Analytics Infrastructure at Facebook
  • Dremel – Interactive Analysis of Web-Scale Datasets
  • Spark SQL – Relational Data Processing in Spark
  • Impala – A Modern Open-Source SQL Engine for Hadoop
  • HAWQ – A Massively Parallel Processing SQL Engine in Hadoop
  • Star Schema Benchmark
  • Tenzing – A SQL Impelmentation on the MapReduce Framework
  • Druid – A Real-time Analytical Data Store
  • Mesa – Geo-Replicated, Near Real-Time, Scalable Data Warehousing
  • Indexing HDFS Data in PDW – Splitting the Data from the Index
  • Split Query Processing in Polybase
  • The Snowflake Elastic Data Warehouse
  • Amazon Redshift and the Case for Simpler Data Warehouses

数据集成

  • Pig Latin – A Not-So-Foreign Language for Data Processing
  • The Dataflow Model – A Practical Approach to Balancing Correctness, Latency, and Cost
  • FlumeJava – Easy, Efficient Data-parallel Pipelines
  • Summingbird – A Framework for Integrating Batch and Online MapReduce Computations
  • Gobblin – Unifying Data Ingestion for Hadoop

顺便说一句,大数据时代是开源软件引领的时代,其中缘由可以参考为什么开源开放的大数据平台才能成功

六年级

但是还有一关是你必须通过的,只有过了这一关,你才是真正的大数据专家。那就是,成为大数据产品经理或者大数据架构师,亲手打造一款大数据产品!有意者请发简历至qisamuelzhang艾特hotmail.com,不见不散 🙂