大纲: 前 言

  • 大数据学习路线
  • 大数据技术栈思维导图
  • 大数据常用软件安装指南


  • 分布式文件存储系统 —— HDFS
  • 分布式计算框架 —— MapReduce
  • 集群资源管理器 —— YARN
  • Hadoop 单机伪集群环境搭建
  • Hadoop 集群环境搭建
  • HDFS 常用 Shell 命令
  • HDFS Java API 的使用
  • 基于 Zookeeper 搭建 Hadoop 高可用集群


  • Hive 简介及核心概念
  • Linux 环境下 Hive 的安装部署
  • Hive CLI 和 Beeline 命令行的基本使用
  • Hive 常用 DDL 操作
  • Hive 分区表和分桶表
  • Hive 视图和索引
  • Hive常用 DML 操作
  • Hive 数据查询详解


  • Spark Core :
  • Spark 简介
  • Spark 开发环境搭建
  • 弹性式数据集 RDD
  • RDD 常用算子详解
  • Spark 运行模式与作业提交
  • Spark 累加器与广播变量
  • 基于 Zookeeper 搭建 Spark 高可用集群
  • Spark SQL :
  • DateFrame 和 DataSet
  • Structured API 的基本使用
  • Spark SQL 外部数据源
  • Spark SQL 常用聚合函数
  • Spark SQL JOIN 操作
  • Spark Streaming :
  • Spark Streaming 简介
  • Spark Streaming 基本操作
  • Spark Streaming 整合 Flume
  • Spark Streaming 整合 Kafka


  • Storm 和流处理简介
  • Storm 核心概念详解
  • Storm 单机环境搭建
  • Storm 集群环境搭建
  • Storm 编程模型详解
  • Storm 项目三种打包方式对比分析
  • Storm 集成 Redis 详解
  • Storm 集成 HDFS/HBase
  • Storm 集成 Kafka


  • Flink 核心概念综述
  • Flink 开发环境搭建
  • Flink Data Source
  • Flink Data Transformation
  • Flink Data Sink
  • Flink 窗口模型
  • Flink 状态管理与检查点机制
  • Flink Standalone 集群部署


  • Hbase 简介
  • HBase 系统架构及数据结构
  • HBase 基本环境搭建 (Standalone /pseudo-distributed mode)
  • HBase 集群环境搭建
  • HBase 常用 Shell 命令
  • HBase Java API
  • Hbase 过滤器详解
  • HBase 协处理器详解
  • HBase 容灾与备份
  • HBase的 SQL 中间层 —— Phoenix
  • Spring/Spring Boot 整合 Mybatis + Phoenix


  • Kafka 简介
  • 基于 Zookeeper 搭建 Kafka 高可用集群
  • Kafka 生产者详解
  • Kafka 消费者详解
  • 深入理解 Kafka 副本机制


  • Zookeeper 简介及核心概念
  • Zookeeper 单机环境和集群环境搭建
  • Zookeeper 常用 Shell 命令
  • Zookeeper Java 客户端 —— Apache Curator
  • Zookeeper ACL 权限控制


  • Flume 简介及基本使用
  • Linux 环境下 Flume 的安装部署
  • Flume 整合 Kafka


  • Sqoop 简介与安装
  • Sqoop 的基本使用


  • Azkaban 简介
  • Azkaban3.x 编译及部署
  • Azkaban Flow 1.0 的使用
  • Azkaban Flow 2.0 的使用


  • Scala 简介及开发环境配置
  • 基本数据类型和运算符
  • 流程控制语句
  • 数组 —— Array
  • 集合类型综述
  • 常用集合类型之 —— List & Set
  • 常用集合类型之 —— Map & Tuple
  • 类和对象
  • 继承和特质
  • 函数 & 闭包 & 柯里化
  • 模式匹配
  • 类型参数
  • 隐式转换和隐式参数


  • 大数据应用常用打包方式


Scientific communities naturally tend to organize around data ecosystems created by the combination of their observational devices, their data repositories, and the workflows essential to carry their research from observation to discovery. However, these legacy data ecosystems are now breaking down under the pressure of the exponential growth in the volume and velocity of these workflows, which are further complicated by the need to integrate the highly data intensive methods of the Artificial Intelligence revolution. Enabling ground breaking science that makes full use of this new, data saturated research environment will require distributed systems that support dramatically improved resource sharing, workflow portability and composability, and data ecosystem convergence. The Cybercosm vision presented in this white paper describes a radically different approach to the architecture of distributed systems for data-intensive science and its application workflows. As opposed to traditional models that restrict interoperability by hiving off storage, networking, and computing resources in separate technology silos, Cybercosm defines a minimally sufficient hypervisor as a spanning layer for its data plane that virtualizes and converges the local resources of the system's nodes in a fully interoperable manner. By building on a common, universal interface into which the problems that infect today's data-intensive workflows can be decomposed and attacked, Cybercosm aims to support scalable, portable and composable workflows that span and merge the distributed data ecosystems that characterize leading edge research communities today.