【課程簡介】
工業(yè)和信息化部電信研究院于2014年5月發(fā)布的“大數(shù)據(jù)白皮書”中指出:
“2012 年美國聯(lián)邦政府就在全球率先推出“大數(shù)據(jù)行動計劃(Big data initiative)”,重點在基礎(chǔ)技術(shù)研究和公共部門應(yīng)用上加大投入。在該計劃支持下,加州大學伯克利分校開發(fā)了完整的大數(shù)據(jù)開源軟件平臺“伯克利數(shù)據(jù)分析軟件棧(Berkeley Data Analytics Stack),其中的內(nèi)存計算軟件Spark的性能比Hadoop 提高近百倍,對產(chǎn)業(yè)界大數(shù)據(jù)技術(shù)走向產(chǎn)生巨大影響”
----來源:工業(yè)和信息化部電信研究院
Spark是成為替代MapReduce架構(gòu)的大數(shù)據(jù)分析技術(shù),Spark的大數(shù)據(jù)生態(tài)體系包括流處理、圖技術(shù)、機器學習等各個方面,并且已經(jīng)成為Apache項目,可以預(yù)計的是2014年下半年到2015年在社區(qū)和商業(yè)應(yīng)用上會有爆發(fā)式的增長。
國內(nèi)外一些大型互聯(lián)網(wǎng)公司已經(jīng)部署了Spark,并且它的高性能已經(jīng)得到實踐的證明。國外Yahoo已在多個項目中部署Spark,尤其在信息推薦的項目中得到深入的應(yīng)用;國內(nèi)的淘寶、愛奇異、優(yōu)酷土豆、網(wǎng)易、baidu、騰訊等大型互聯(lián)網(wǎng)企業(yè)已經(jīng)將Spark應(yīng)用于自己的生產(chǎn)系統(tǒng)中。國內(nèi)外的應(yīng)用開始越來越廣泛。Spark正在逐漸走向成熟,并在這個領(lǐng)域扮演更加重要的角色。
在2014 Spark Summit上,世界20家公司聲明支持Spark,這些公司包括了四個Hadoop發(fā)行商Cloudera, Pivotal, MapR, Hortonworks,都提供了對非常強有力的支持Spark的支持:
1、 Hadoop的頭號發(fā)行商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發(fā)行版里面;這標志著四個Hadoop發(fā)行商Cloudera、Pivotal、MapR、Hortonworks都提供了對Spark的支持;
3、 2014年4月,Mahout表示將不再接受任何形式的以MapReduce形式實現(xiàn)的算法,Mahout宣布新的算法基于Spark;
4、 Cloudera的機器學習框架Oryx的執(zhí)行引擎也將由Hadoop的MapReduce替換成Spark;
【培訓(xùn)方式】
以課堂講解、演示、案例分析為主,輔以互動研討、現(xiàn)場答疑、學以致用。
【目標收益】
1、 通過培訓(xùn)使學員深入理解Spark的大數(shù)據(jù)實現(xiàn)技術(shù)原理;
2、 通過培訓(xùn)使學員深入理解并能運行Spark 的Core、Streaming、SQL、Mllib、GraphX等子項目;
3、 通過培訓(xùn)使學員具備Spark內(nèi)存計算框架的開發(fā)能力;
4、 通過培訓(xùn)使學員學會Scala語言開發(fā),以及開發(fā)Spark程序,處理業(yè)務(wù)數(shù)據(jù);
【培訓(xùn)對象】
1、 對大數(shù)據(jù)、分布式存儲、分析等感興趣的人員;
2、 大型網(wǎng)站、電商網(wǎng)站等運維人員;
3、 云計算、大數(shù)據(jù)從業(yè)者;
4、 熟悉Hadoop生態(tài)體系,想了解和學習Hadoop與Spark整合在企業(yè)應(yīng)用實戰(zhàn)案例的人員;
5、 系統(tǒng)架構(gòu)師、系統(tǒng)分析師、高級程序員、經(jīng)驗豐富的開發(fā)人員;
6、 牽涉到大數(shù)據(jù)處理的數(shù)據(jù)中心運行、規(guī)劃、設(shè)計負責人;
7、 政府機關(guān),金融保險、移動互聯(lián)網(wǎng)等大數(shù)據(jù)單位的負責人;
8、 高校、科研院所大數(shù)據(jù)研究人員,涉及到大數(shù)據(jù)與分布式數(shù)據(jù)處理的人員;
9、 數(shù)據(jù)倉庫管理人員、建模人員,分析和開發(fā)人員、系統(tǒng)管理人員、數(shù)據(jù)庫管理人員以及對數(shù)據(jù)倉庫感興趣的其他人員;
【培訓(xùn)時長】
4天
【課程大綱】
時間 |
內(nèi)容 |
第一天 |
第1個主題: Scala語言培訓(xùn)(介紹Scala誕生的背景)(90分鐘) 1、 Scala介紹 2、 What is Scala 3、 基于JVM的FP+OO 4、 靜態(tài)類型 5、 多線程開發(fā) 6、 Java兼容 7、 語法簡潔 8、 Scala研發(fā)環(huán)境 9、 Scala安裝及環(huán)境配置 10、 交互式編程 11、 腳本式編程 12、 編程實戰(zhàn):第一個 Scala 程序
第2個主題: 如何學習一門新的語言(剖析學習一門新的語言的技巧與思路)(30分鐘) 1、 順序 2、 分支 3、 循環(huán) 4、 對象 5、 類 6、 方法 7、 字段
第3個主題: Scala順序語法(介紹Scala順序編程語法)(120分鐘) 1、 Scala基本語法 2、 Scala數(shù)據(jù)類型 3、 Scala變量 4、 標識符的聲明與定義 5、 val,常量聲明 6、 var,變量聲明 7、 類型省略(默認類型) 8、 聲明省略(連續(xù)聲明) 9、 Scala訪問修飾符 10、 Scala作用域 11、 Scala運算符 a) 算術(shù)運算符 b) 關(guān)系運算符 c) 邏輯運算符 d) 位運算符 e) 賦值運算符 12、 Scala關(guān)鍵字 13、 Scala注釋 14、 空行和空格 15、 換行符 16、 Scala包 17、 Scala引用 18、 編程實戰(zhàn):順序編程Scala程序?qū)嵗?span>
第4個主題: Scala分支語法(介紹Scala分支編程語法)(30分鐘) 1、 if語句 2、 if...else語句 3、 if...else if...else語句 4、 if...else嵌套語句 5、 編程實戰(zhàn):分支編程Scala程序?qū)嵗?span>
第5個主題: Scala循環(huán)語法(介紹Scala循環(huán)編程語法)(30分鐘) 1、 Scala循環(huán) 2、 while循環(huán) 3、 do...while循環(huán) 4、 for循環(huán) 5、 編程實戰(zhàn):循環(huán)編程Scala程序?qū)嵗?span>
第6個主題: Scala 函數(shù)(介紹Scala函數(shù)編程語法)(60分鐘) 1、 Scala函數(shù) 2、 Scala閉包 3、 Scala函數(shù)聲明def 4、 無參函數(shù) 5、 編程實戰(zhàn):Scala函數(shù)編程實例
第7個主題: Scala復(fù)雜數(shù)據(jù)類型(介紹Scala語言復(fù)雜數(shù)據(jù)類型編程語法)(60分鐘) 1、 Scala字符串 2、 Scala數(shù)組 3、 Scala Collection(集合) 4、 Scala Iterator(迭代器) 5、 Scala泛型 6、 Scala FP的方式處理集合 7、 編程實戰(zhàn):Scala語言復(fù)雜數(shù)據(jù)類型編程實戰(zhàn)
第8個主題: Scala類與對象編程(介紹Scala語言的類與對象編程語法)(60分鐘) 1、 Scala類和對象 2、 type類型聲明 3、 class類聲明 4、 object對象聲明 5、 Scala Trait(特征) 6、 編程實戰(zhàn):Scala語言類與對象編程實戰(zhàn)
第9個主題: Scala高級編程(介紹Scala語言高級編程功能)(60分鐘) 1、 Scala模式匹配 2、 Scala正則表達式 3、 Scala異常處理 4、 Scala提取器(Extractor) 5、 Scala文件I/O 6、 Scala多線程開發(fā) 7、 編程實戰(zhàn):Scala語言高級編程實戰(zhàn)
第10個主題: Scala工程管理(介紹Scala語言工程管理方法)(30分鐘) 1、 項目管理工具 2、 打包工具SBT 3、 編程實戰(zhàn):用SBT對Scala項目打包與發(fā)布
|
時間 |
內(nèi)容 |
第二天 |
第11個主題: 大數(shù)據(jù)內(nèi)存計算技術(shù)介紹(深入剖析Spark Core實現(xiàn)原理)(120分鐘) 1、 Spark概述 2、 Spark基本概念介紹 3、 Spark架構(gòu)剖析 4、 Spark運行環(huán)境介紹 5、 Spark集群部署 6、 Mesos介紹 7、 Spark RDD計算模型解析 8、 Spark RDD操作剖析 9、 DAG有向無環(huán)圖介紹 10、 Spark Shell命令行交互式編程 11、 Spark 腳本編程 12、 利用Python語言開發(fā)Spark程序PySpark 13、 構(gòu)建與運行Spark應(yīng)用 14、 Spark編程實戰(zhàn) a) Java編寫Spark程序 b) Scala編寫Spark程序 c) Python編寫Spark程序 d) R編寫Spark程序
第12個主題: Spark編程基礎(chǔ)操作(深入剖析Spark編程基礎(chǔ)操作)(120分鐘) 1、 并行數(shù)據(jù)集合(Parallelized Collections) 2、 彈性分布式數(shù)據(jù)集RDD(Resilient Distributed Dataset) 3、 RDDs兩種類型操作 4、 actions 5、 transformations 6、 count() 7、 first() 8、 filter() 9、 map() 10、 flatMap() 11、 mapPartitions() 12、 union()
|