《阿里巴巴Spark實踐與探索(21頁).pdf》由會員分享,可在線閱讀,更多相關《阿里巴巴Spark實踐與探索(21頁).pdf(21頁珍藏版)》請在三個皮匠報告上搜索。
1、 內存計算時代 封神(曹龍)阿里云技術專家 阿里巴巴Spark實踐與探索 阿里巴巴Spark實踐與探索 自我介紹 曹龍,花名封神 阿里云技術專家;專注在大數據領域,7年分布式引擎研發經驗;先后研發上萬臺Hadoop、ODPS集群;先后負責阿里YARN、Spark及自主研發內存計算引擎;目前為廣大公共云用戶提供專業的Hadoop服務。提綱 數據處理技術 Spark介紹阿里Spark歷程 Spark在云上Spark未來 數據處理技術 硬件、機房 分布式調度 分布式存儲 分布式計算 作業管理、作業流 數據治理、作業生命周期 大數據產品 數據處理時間與數據量 ms s m h G T P Kylin
2、Impalakudu DB/MPP VS 分布式引擎 DB/MPP Hadoop引擎 引擎 硬件 小型機 Raid高端存儲 普通PC機器 容錯 重跑即可 需要容錯 調度模型 線程 CPU/Memory衡量標準 QPS 吞吐Hadoop生態計算引擎 Batch BatchInteracHve BatchInteracHveMemoryNear-RealTimeStreamingFullStackMapReduce DAG:DirectAcyclicGraphsRDD:ResilientDistributedDatasetsCycllcDataflowsHybrid(Batch+Streaming
3、)InteracHveReal-TimeStreamingNaHveIteraHveProcessingFullStack1G 2G 3G 4G Hybrid(Batch+Streaming)InteracHveMemoryNear-RealTimeStreamingFullStackRDD:ResilientDistributedDatasets3.8G Spark1.0 Tungsten1.0(執行器)Scheduler(調度策略)RDD(物理執行計劃)Catalyst(優化器)Dataframes SQL Streaming Mllib ETC Scala Java Python R S
4、park2.0 Tungsten2.0(執行器)Scheduler(調度策略)RDD(物理執行計劃)Catalyst(優化器)Dataset(邏輯執行計劃)Dataframes SQL Streaming Mllib ETC Scala Java Python R Spark 鏈路 SQL Selectsum(d.money),a.cityfromdealdjoinaddressaona.id=d.address_idandd.ds2015-08-09groupbya.city RDD Catalyst Task Scheduler Thread Tungsten 北京 北京 10000 上海
5、 9000 杭州 8000 Spark Core SimpleReuseJVMFullStackShufflePullBaseShuffleNeiyCacheMemory&DiskFailoverLineageCheckpointBroadcastTungstenOffHeapCache-awarecomputaHonShuffleCatalystCode-GenCBOETCSpark在阿里 10-12年 初步嘗試 Spark10臺左右,standalone模式 SparkMllib機器學習12-14年 SparkonYarn100-400臺規模SparkMllib、SparkStreamin
6、g、SparkGraphx14年 Moye內存計算15-nowE-MapReduceforSpark對公共云提供服務,主要是作業平臺、運維平臺SparkAllStack Spark彈性伸縮 Metadata Thrimserver SparkexecutorBeelineuser1./beeline-ujdbc:hive2:/localhost:10000spark.dynamicAllocaHon.minExecutors=1spark.dynamicAllocaHon.maxExecutors=100 Beelineuser2 ResourceManager SparkexecutorSp
7、arkexecutorSparkexecutorSparkexecutorSparkexecutorMRChildMRChildSparkChildSpark與業務系統結合 SparkJobServer YARN AM executor executor executor ResoullApi 業務 系統 解耦,業務系統與大數據系統 Spark 應用場景-機器學習 數已Cache 據 RDD1 RDD2 RDD3 RDD4 引擎 引擎 性能 性能 穩定性 穩定性 易用性 易用性 Mahout onmr MR 慢 較好 一般 MLlib OnSpark Spark 高 好 易用 MPICH2 M
8、PICH2 很高 差 難用 Spark 應用場景-流式計算 Kapalogservices SparkStreamingHBase傳感器 2s-5s延遲 100ms500ms10s100ms 預警系統Spark 應用場景-即時查詢 SQL DataSet Python R HDFS Cache Index 100T 100G 面向人員:分析師 Load 數據到內存 2分鐘 內存分析數據 1s-60sZeppelin HUE Spark在云上 Spark OSS 不分離 不分離 分離 分離 靈活性 不靈活 靈活 成本 高 低 性能 較高 高 場景 場景 資源消耗 資源消耗 ETL IO、CPU 流式計算 CPU、memory、network 機器學習 CPU、memory 即時查詢 memory 場景劃分 最佳實踐 存儲與計算分離 Spark未來 支持ANSISQL 性能接近MPP數據倉庫 一切基于優化(Catalyst)新硬件的支持,比如:大內存、GPU更加友好的支持云 Spark回顧 DAG 執行層統一物理執行計劃RDD 內存計算 支持SQL 支持DataFrames 執行引擎優化 批處理、流計算 算子層統一 支持標準的SQL 繼續優化 基于Catalyst 12-13年 14-15年 16-17年