该文章转载自http://dataguild.org/?page_id=3681
大数据
大数据专家是怎样炼成的?
由于很少看到学习大数据的知识图谱,所以这里斗胆分享一家之言。同时,大数据有很多细分领域,这里特指通过分布式技术在海量数据中了解并分析过去发生了什么(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如今都有大数据实现,推荐初学者一读。
二年级
第二个年级学习的内容是实践,也就是用大数据产品完成一些简单目标。费尔巴哈说过,理论所不能解决的那些疑难,实践会给你解决:
- 魔兽世界大数据分析
- WordPress日志分析
- 云端的数据仓库Palo
- 使用百度开放云分析网站日志
- 在Azure上把玩Spark
- 轻松上手Kafka
- 用Hive玩转维基百科
- 试用Azure Data Factory
- 通过Stack Overflow分析编程语言大势
- 中国空气质量分析
纸上得来终觉浅,绝知此事要躬行。
三年级
第三个年级学习的内容是实战,这是极为重要的。那些理论学习中的优秀学生如果不能过这一关,他们就将获得一个光荣的成就——纸上谈兵。
我们来解释一下为什么实战如此重要。虽然大数据理论都是高年级的学长们经验总结,但他们写这些东西的时候情况和现状是不完全一样的,在实战中如果照搬是要吃大亏的。作为一个想成为大数据专家的学员,一般都是从项目干起,因为只有项目才能让一个人成为真正的专家,必须亲密与客户交流澄清需求细节,亲手敲打键盘架构大数据平台,亲身经历运维不知白昼与黑夜,明白无法交付项目是要饿肚子的,了解不能运维是要挨客户骂的,他们才会明白什么是实战。
大多数学员会在这一关被淘汰,他们会改行,一生当一个大数据票友,这对他们来说并不见得是一件坏事。而留存下来的那些学员,在残酷的项目实战中逐渐了解了大数据的规律,开始真正走上专家之路。
四年级
好了,我们带领剩下的学员来到四年级,四年级需要学习的是结合大数据与云计算。
云计算为大数据提供无尽的资源,大数据为云计算带来数据服务。大数据与云计算的关系好比倚天与屠龙,单独使用已然是神兵利器,结合起来更能得到《九阴真经》、《降龙十八掌》和《武穆遗书》。
云计算平台上的大数据服务大致分两种:
- 在云主机上部署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
顺便说一句,大数据时代是开源软件引领的时代,其中缘由可以参考为什么开源开放的大数据平台才能成功。
六年级
但是还有一关是你必须通过的,只有过了这一关,你才是真正的大数据专家。那就是,成为大数据产品经理或者大数据架构师,亲手打造一款大数据产品!