本文介紹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)境和配置

說明 本文的TPC-DS的實現(xiàn)基于TPC-DS的基準(zhǔn)測試,并不能與已發(fā)布的TPC-DS基準(zhǔn)測試結(jié)果相比較,本文中的測試并不符合TPC-DS的基準(zhǔ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.cores8
spark.driver.memory24G
spark.executor.cores7
spark.executor.memory24G
spark.executor.instances49
spark.yarn.executor.memoryOverhead3G

1.3 TPC-DS數(shù)據(jù)準(zhǔn)備:

Scale factorFormatStorageStatus
10Tdeltahdfsok
10TparquetOSSok

二. 對比結(jié)果

CaseComparisonExpect
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
10T_benchmark詳細(xì)對比數(shù)據(jù)10T求和對比

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
10T_OSSvsHDFS_細(xì)節(jié)10T_OSSvsHDFS_all