课程背景
无论是销售交流、产品演示、展厅讲解、公司介绍、项目提案、竞标陈述等销售活动,还是产品市场发布会、主题研讨会、客户沙龙,会议营销等市场营销活动,一对多的直接向客户进行演讲和呈现都是销售和营销人员的“关键时刻”,主题演讲决定了销售动作、品牌传播和营销推广的实质效果,是营销活动中价值最高的部分,也是最难的部分。
工业和信息化部电信研究院于2014年5月发布的“大数据白皮书”中指出:
“2012 年美国联邦政府就在全球率先推出“大数据行动计划(Big data initiative)”,重点在基础技术研究和公共部门应用上加大投入。在该计划支持下,加州大学伯克利分校开发了完整的大数据开源软件平台“伯克利数据分析软件栈(Berkeley Data Analytics Stack),其中的内存计算软件Spark的性能比Hadoop 提高近百倍,对产业界大数据技术走向产生巨大影响” ----来源:工业和信息化部电信研究院
Apache Flink是一个开源的针对批量数据和流数据的处理引擎,已经发展为ASF的顶级项目之一。Flink 的核心是在数据流上提供了数据分发、通信、具备容错的分布式计算。同时,Flink 在流处理引擎上构建了批处理引擎,原生支持了迭代计算、内存管理和程序优化。
本课程重点内容包括Apache Flink的诞生背景、运行原理、Apache Flink API的使用、Apache Flink流式处理的相关算法以及Apache Flink的企业级使用最佳实践。同学通过此次课程可以开发Apache Flink程序。
Spark是成为替代MapReduce架构的大数据分析技术,Spark的大数据生态体系包括流处理、图技术、机器学习等各个方面,并且已经成为Apache顶级项目,可以预计的是2014年下半年到2015年在社区和商业应用上会有爆发式的增长。
国内外一些大型互联网公司已经部署了Spark,并且它的高性能已经得到实践的证明。国外Yahoo已在多个项目中部署Spark,尤其在信息推荐的项目中得到深入的应用;国内的淘宝、爱奇异、优酷土豆、网易、baidu、腾讯等大型互联网企业已经将Spark应用于自己的生产系统中。国内外的应用开始越来越广泛。Spark正在逐渐走向成熟,并在这个领域扮演更加重要的角色。
在2014 Spark Summit上,世界20家顶级公司声明支持Spark,这些公司包括了最大的四个Hadoop发行商Cloudera, Pivotal, MapR, Hortonworks,都提供了对非常强有力的支持Spark的支持:
1、 Hadoop的头号发行商Cloudera,在2014年7月份宣布“Impala’s it for interactive SQL on Hadoop; everything else will move to Spark”;
2、 2014年5月24日Pivotal宣布了会把整个Spark stack包装在Pivotal HD Hadoop发行版里面;这标志着四个Hadoop发行商Cloudera、Pivotal、MapR、Hortonworks都提供了对Spark的支持;
3、 2014年4月,Mahout表示将不再接受任何形式的以MapReduce形式实现的算法,Mahout宣布新的算法基于Spark;
4、 Cloudera的机器学习框架Oryx的执行引擎也将由Hadoop的MapReduce替换成Spark;
课程目标
1、 通过培训使学员深入理解Spark的大数据实现技术原理;
2、 PySpark基础与进阶:Spark基础、RDD、DataSet操作、SQL操作,Spark分布式部署与任务调度、机器学习流程与Pipeline、图计算介绍与图计算性能。
3、 通过培训使学员深入理解并能运行PySpark 的Core、Streaming、SQL、Mllib、GraphX等子项目;
4、 通过培训使学员具备PySpark内存计算框架的开发编程能力;
5、 通过培训使学员学会PySpark程序开发,处理业务数据,掌握数据处理,独立完成数据分析,变量处理,数据等,独立完成数据建模,模型拟合及策略验证分析;
课程对象
1、 本课程适合于想学习的PySpark编程的人员;
2、 本课程适合于机器学习编程的开发人员;
3、 本课程适合于大数据开发项目的团队及人员;
4、 系统架构师、系统分析师、高级程序员、资深开发人员;
5、 牵涉到大数据处理的数据中心运行、规划、设计负责人;
6、 政府机关,金融保险、移动互联网等大数据单位的负责人;
7、 高校、科研院所大数据研究人员,涉及到大数据与分布式数据处理的人员;
8、 数据仓库管理人员、建模人员,分析和开发人员、系统管理人员、数据库管理人员以及对数据仓库感兴趣的其他人员;
授课方式
以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。
课程方案
时间 | 内容 |
第一天 |
第1个主题: Spark大数据内存计算技术(深入剖析Spark Core实现原理)(90分钟) 1、 Spark概述 2、 Spark基本概念介绍 3、 Spark架构剖析 4、 Spark运行环境介绍 5、 Spark集群部署 6、 Mesos介绍 7、 SparkRDD计算模型解析 8、 Spark RDD操作剖析 9、 Spark DataSet计算模型解析 10、 Spark DataSet操作剖析 11、 Spark DataFrame计算模型解析 12、 Spark DataFrame操作剖析 13、 DAG有向无环图介绍 14、 Spark Shell命令行交互式编程 15、 Spark 脚本编程 16、 利用Python语言开发Spark程序PySpark 17、 构建与运行Spark应用 18、 Spark编程实战 a) Java编写Spark程序 b) Scala编写Spark程序 c) Python编写Spark程序 d) R编写Spark程序
第2个主题: PySpark编程基础操作(深入剖析PySpark编程基础操作)(90分钟) 1、 并行数据集合(Parallelized Collections) 2、 弹性分布式数据集RDD(Resilient Distributed Dataset) 3、 RDDs两种类型操作 4、 actions 5、 transformations 6、 count() 7、 first() 8、 filter() 9、 map() 10、 flatMap() 11、 mapPartitions() 12、 union() 13、 reduce() 14、 collect() 15、 take() 16、 foreach() 17、 saveAsTextFile 18、 Spark缓存cache() 19、 导入Java库 20、 Spark Key-Value操作 21、 reduceByKey 22、 groupByKey 23、 sortByKey 24、 countByKey 25、 join() 26、 repartition() 27、 shuffle操作 28、 RDD持久化操作 29、 spark-submit运行程序 30、 Spark共享变量(Shared Variables) 31、 Broadcast变量(Broadcast Variables) 32、 Accumulators变量 33、 编程实战:Spark基础操作编程实战
第3个主题: Spark可访问外部数据源(剖析Spark访问外部数据源)(30分钟) 1、 Spark分布式文件读写 2、 文件系统 3、 HDFS 4、 HBase 5、 Hive 6、 Cassandra 7、 Tachyon 8、 编程实战:Spark操作外部数据源编程实战 9、 Spark实战案例:Spark与HBase整合分析数据
第4个主题: PySpark编程技巧分享(分享PySpark编程技巧与实践经验)(30分钟) 1、 Spark开发分析 2、 Spark的执行机制解析 3、 Spark运行原理剖析 4、 Spark的调试与任务分配 5、 Spark的性能调优 6、 Spark与MapReduce对比分析 7、 Spark生态体系剖析 8、 Spark监控管理 9、 Spark的容错机制剖析 10、 Spark集群部署 11、 Spark集群部署经验分享 12、 Spark大规模集群运维经验分享 13、 Spark应用现状 14、 Spark应用优势 15、 Spark应用案例
第5个主题: SparkML机器学习概述(深入理解SparkML架构、实现原理及特征)(60分钟) 1、 Spark ML概述 2、 Spark ML发展历史 3、 Spark ML算法介绍 4、 RDD-based API MLlib 5、 DataFrame-based API for MLlib 6、 Spark ML架构剖析 7、 Spark ML机器学习算法剖析 8、 数据类型 9、 基本统计算法 10、 分类与回归 11、 协同过滤 12、 聚类 13、 降维 14、 特征提取与转换 15、 频繁模式挖掘 16、 评价指标 17、 Spark ML编程 18、 Spark ML APIs介绍 19、 Spark ML机器学习算法应用实战 20、 Spark ML实战案例:数据聚类分析案例剖析
第6个主题: SparkML Pipelines实战(深入理解SparkML Pipelines思想、原理及开发实战)(90分钟) 1、 DataFrames 2、 Pipeline组件 a) Transformers b) Estimators 3、 Pipeline组件属性 4、 Pipeline工作原理 5、 保存与加载Pipeline 6、 案例:Pipeline工作原理 7、 定制ML Pipeline 8、 ML Workflow a) Load Data b) Extract Features c) Train a Model d) Evaluate the Model e) ML Pipelines f) Parameter Tuning
|
时间 | 内容 |
第二天 | 第7个主题: PySpark分类与回归算法实践(深入理解SparkML Classification 与Regression算法的实现原理以及开发实战)(60分钟) 1、 Classification &Regression a) Linear regression b) Generalized linear regression c) Logistic regression d) Decision tree e) Random forest f) Gradient-boosted tree g) Multilayer perceptron classifier h) One-vs-Rest classifier (a.k.a. One-vs-All) i) Naive Bayes j) Survival regression k) Isotonic regression 2、 SVM 3、 Linear methods 4、 Decision trees 5、 Tree Ensembles a) Random Forests b) Gradient-Boosted Trees (GBTs)
第8个主题: PySpark聚类算法剖析与实践(深入理解SparkML Clustering算法的实现原理及开发实战)(60分钟) 1、 K-means Clustering 2、 Bisecting k-means 3、 Gaussian Mixture Model (GMM) 4、 Canopy Clustering 5、 Fuzzy K-means 6、 Expectation Maximization 7、 Mean Shift Clustering 8、 Hierarchical Clustering 9、 Dirichlet Process Clustering 10、 Latent Dirichlet Allocation(LDA) 11、 Spectral Clustering
第9个主题: PySpark协同过滤算法剖析与实践(深入理解SparkML Collaborative Filtering算法的实现原理及开发实战)(30分钟) 1、 协同过滤 2、 显式与隐式反馈 3、 正则化参数的尺度 4、 欧几里德距离(Euclidean Distance) 5、 皮尔逊相关系数(Pearson Correlation Coefficient) 6、 Cosine 相似度(Cosine Similarity) 7、 Tanimoto 系数(Tanimoto Coefficient)
第10个主题: PySpark特征提取、转化与选择算法剖析与实践(深入理解SparkML Extracting, transforming and selecting features算法的实现原理及开发实战)(90分钟) 1、 特征提取 a) TF-IDF b) Word2Vec c) CountVectorizer 2、 特征转换 a) Tokenizer b) StopWordsRemover c) n-gram d) Binarizer e) PCA f) PolynomialExpansion g) Discrete Cosine Transform (DCT) h) StringIndexer i) IndexToString j) OneHotEncoder k) VectorIndexer l) Normalizer m) StandardScaler n) MinMaxScaler o) MaxAbsScaler p) Bucketizer q) ElementwiseProduct r) SQLTransformer s) VectorAssembler t) QuantileDiscretizer 3、 特征选择 a) VectorSlicer b) RFormula c) ChiSqSelector
第11个主题: Spark GraphX图计算框架实战(深入理解Spark GraphX实现原理及开发实战)(90分钟) 1、 Spark GraphX概述 2、 Spark GraphX图计算理论剖析 3、 Spark GraphX框架剖析 4、 Spark GraphX的图属性 5、 Spark GraphX的图操作 6、 操作列表 7、 属性操作 8、 结构操作 9、 连接操作 10、 近邻集合操作 11、 Caching and Uncaching 12、 Pregel APIs 13、 Graph Builders 14、 Vertex与Edge RDDs 15、 Optimized Representation 16、 Graph Algorithms 17、 PageRank 18、 Connected Components 19、 Triangle Counting 20、 Spark GraphX编程剖析 21、 Spark GraphX APIs介绍 22、 Spark GraphX图计算的性能 23、 实战案例:Spark GraphX实现社交网络关系分析 |