使用spark-sql-perf評測spark 2.0

文章分爲四個部分講述怎樣使用spark官方評測工具評測spark 2.0 tpc ds支持狀況html

  1. 基礎環境的安裝
  2. davies/tpcds-kit 下載、編譯、部署
  3. databricks/spark-sql-perf 下載、打包
  4. 運行TPCDS測試

基礎環境的安裝

刀片機:1臺 126G內存 64核心 centos 7.2c++

virtualbox安裝四臺虛擬機(centos 7.2,16G內存,4核):master,worker1,worker2,worker3(centos下)git

spark版本:2.0github

hadoop版本:2.6sql

安裝請參考:hadoop安裝或者Spark On Yarn安裝shell

安裝後的截圖apache

HDFS集羣

Spark集羣

davies/tpcds-kit 下載、編譯、部署

簡介

davies/tpcds-kit是用來生成測試數據的工具centos

下載

git clone https://github.com/davies/tpcds-kit.git工具

編譯

任選一臺機器(這裏咱們選擇master)安裝如下編譯工具(默認軟件裏沒有編譯工具)oop

yum   install gcc gcc-c++ bison flex cmake ncurses-devel
cd    tpcds-kit/tools
cp    Makefile.suite Makefile #複製Makefile.suite爲Makefile
make             #運行make命令

接下來,拷貝tpcds-kit到全部機器的相同目錄下(重要

scp  -r /目錄/tpcds-kit root@worker1:/目錄/tpcds-kit  #執行三次該命令複製到worker1,worker2,worker3

databricks/spark-sql-perf 下載、打包

下載

git clone https://github.com/databricks/spark-sql-perf.git

打包

使用sbt package打包的jar在使用時會出現依賴找不到狀況,咱們使用Intellij Idea導入該工程

修改sbt.build,更改scala版本爲2.11.8 Scala版本

打包成jar包

設置Project Structure

step 1

設置Artifacts

step 2

Build

step 3

jar包不須要每一個節點都有

運行TPCDS測試

更改spark.env中的driver內存限制

SPARK_DRIVER_MEMORY=8G #依具體狀況而定

運行spark-shell

cd   spark-2.0.0-bin-hadoop2.6
./bin/spark-shell --jars /jar包目錄/spark-sql-perf.jar --num-executors 20 --executor-cores 2 --executor-memory 8G --master spark://master:7077

在spark-shell中運行測試

// 建立sqlContext
val sqlContext=new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
// 生成數據 參數1:sqlContext  參數2:tpcds-kit目錄  參數3:生成的數據量(GB)
val tables=new Tables(sqlCotext,"/目錄/tpcds-kit/tools",1)
tables.genData("hdfs://master:8020:tpctest","parquet",true,false,false,false,false);
// 建立表結構(外部表或者臨時表)
// talbles.createExternalTables("hdfs://master:8020:tpctest","parquet","mytest",false)
talbles.createTemporaryTables("hdfs://master:8020:tpctest","parquet")
import com.databricks.spark.sql.perf.tpcds.TPCDS
val tpcds=new TPCDS(sqlContext=sqlContext)
//運行測試
val experiment=tpcds.runExperiment(tpcds.tpcds1_4Queries)

在spark-shell中咱們能夠調用 _experiment.html_查看執行狀態

HDFS上生成的數據截圖

生成的數據

運行截圖

運行截圖

運行結果保存在spark/performance目錄下

HDFS上的評測結果截圖

評測結果

相關文章
相關標籤/搜索