本文介紹Databricks數(shù)據(jù)洞察采用的企業(yè)版Spark引擎性能對比數(shù)據(jù),Databricks Runtime(簡寫dbr)的性能及Delta Lake功能是本產(chǎn)品的核心優(yōu)勢。Databricks Runtime完全兼容開源版本Spark,并且相對開源Spark引擎TPC-DS平均性能有3~5倍提升,性能對比最快的query有80倍提升!
一. 環(huán)境和配置
1.1 硬件配置
集群 | 1Master節(jié)點 + 7Core節(jié)點 |
---|---|
Master實例(北京region) | Centos 7.4 64位 | I/O優(yōu)化 CPU:16 核 | 內(nèi)存:64G ECS 規(guī)格:ecs.g6.4xlarge 數(shù)據(jù)盤配置:ESSD云盤 80GB X 1塊 系統(tǒng)盤配置:ESSD云盤 120GB X 1塊 |
Core實例(北京region) | Centos 7.4 64位 | I/O優(yōu)化 CPU: 40 核 | 內(nèi)存:176G ECS 規(guī)格:ecs.d2s.10xlarge 數(shù)據(jù)盤配置:吞吐密集型本地盤 7300GB X 15塊 系統(tǒng)盤配置:ESSD云盤 256GB X 1塊 |
OSS帶寬(北京region) | 10Gb with JindoFS SDK |
1.2 軟件配置
集群中Spark資源配置如下
spark.driver.cores | 8 |
spark.driver.memory | 24G |
spark.executor.cores | 7 |
spark.executor.memory | 24G |
spark.executor.instances | 49 |
spark.yarn.executor.memoryOverhead | 3G |
1.3 TPC-DS數(shù)據(jù)準(zhǔn)備:
Scale factor | Format | Storage | Status |
---|---|---|---|
10T | delta | hdfs | ok |
10T | parquet | OSS | ok |
二. 對比結(jié)果
Case | Comparison | Expect |
---|---|---|
dbr vs spark | 保持相同集群、參數(shù)、存儲(OSS)、格式(parquet),對比dbr和社區(qū)spark在TPC-DS下的性能表現(xiàn) | 預(yù)期dbr會快 |
oss vs hdfs | 使用dbr,保持相同集群、參數(shù)、格式(delta),對比使用OSS和hdfs兩種分布式存儲在TPC-DS下的性能表現(xiàn) | 預(yù)期hdfs會快一些 |
2.1 dbr vs spark:
測試的結(jié)論如下,整體結(jié)果體現(xiàn)了dbr在TPCDS上還是有很大的性能優(yōu)勢——平均3倍以上,最快query80倍以上。
- baseline為dbr的運行時間
- target為社區(qū)spark的運行時間
- percentChange = (baselineTimeMs - targetTimeMs) / baselineTimeMs
2.2 HDFS vs OSS:
測試的結(jié)論如下,由于DDI使用了JindoFS引擎,整體結(jié)果體現(xiàn)了DDI產(chǎn)品在存儲選型上OSS和HDFS性能差異并不大,可以使用OSS做計算存儲分離架構(gòu)方案。
- baseline為dbr的運行時間
- target為社區(qū)spark的運行時間
- percentChange = (baselineTimeMs - targetTimeMs) / baselineTimeMs