全部产品

基于TPC-DS测试DDI引擎性能

前提条件

  1. 通过主账号登录阿里云 Databricks控制台

  2. 已创建集群,具体请参见创建集群

  3. 已使用OSS管理控制台创建非系统目录存储空间,详情请参见创建存储空间

    警告

    首次使用DDI产品创建的Bucket为系统目录Bucket,不建议存放数据,您需要再创建一个Bucket来读写数据。

    说明

    DDI支持免密访问OSS路径,结构为:oss://BucketName/Object

    • BucketName为您的存储空间名称;

    • Object为上传到OSS上的文件的访问路径。

    例:读取在存储空间名称为databricks-demo-hangzhou文件路径为demo/The_Sorrows_of_Young_Werther.txt的文件

    // 从oss地址读取文本文档
    val text = sc.textFile("oss://databricks-demo-hangzhou/demo/The_Sorrows_of_Young_Werther.txt")

步骤一 :示例下载

步骤二 :运行TPC-DS测试集

在Databricks数据洞察的项目空间中创建一个新项目,操作如下:

创建项目

步骤三 :生成测试数据集脚本

  • spark资源可以更具集群具体情况进行调整

  • scale_factor参数控制整个测试集的数据量 (如scale_factor=1000 即1T的数据量)

  • TPC-DS测试集已打成jar包(spark-sql-perf-assembly-0.5.0-SNAPSHOT.jar)可以直接使用

执行脚本如下:

--class com.databricks.spark.sql.perf.tpcds.TPCDS_Standalone
--deploy-mode cluster
--name generate_dataset
--queue default
--master yarn
--conf spark.yarn.submit.waitAppCompletion=true
--conf spark.driver.cores=2
--conf spark.driver.memory=4G
--conf spark.executor.cores=4
--conf spark.executor.memory=8G
--conf spark.executor.instances=2
--conf spark.yarn.executor.memoryOverhead=1024
--conf spark.shuffle.service.enabled=true
oss://databricks-demo/tpcds-jar/spark-sql-perf-assembly-0.5.0-SNAPSHOT.jar
--dataset_location oss://databricks-demo/tpcds/
--output_location oss://databricks-demo/tpcds/results
--iterations 1
--shuffle_partitions 100
--scale_factor 10
--regenerate_dataset true
--regenerate_metadata true
--only_generate_data_and_meta true
--db_suffix delta
--format delta

步骤四:运行TPC-DS测试集

运行测试集的方法和生成数据的操作一致,仅需要修改下面三个参数

  • regenerate_dataset false

  • regenerate_metadata false

  • only_generate_data_and_meta false

执行脚本如下:

--class com.databricks.spark.sql.perf.tpcds.TPCDS_Standalone
--deploy-mode cluster
--name run_dataset
--master yarn
--conf spark.yarn.submit.waitAppCompletion=true
--conf spark.driver.cores=2
--conf spark.driver.memory=4G
--conf spark.executor.cores=4
--conf spark.executor.memory=8G
--conf spark.executor.instances=2
--conf spark.yarn.executor.memoryOverhead=1024
--conf spark.shuffle.service.enabled=true
oss://databricks-demo/tpcds-jar/spark-sql-perf-assembly-0.5.0-SNAPSHOT.jar
--dataset_location oss://databricks-demo/tpcds/
--output_location oss://databricks-demo/tpcds/results
--iterations 1
--shuffle_partitions 100
--scale_factor 10
--regenerate_dataset false
--regenerate_metadata false
--only_generate_data_and_meta false
--format delta

运行完成后结果会存储在output_location参数所指定的路径(如上面的例子,结果在:oss://databricks-demo/tpcds/results)