大数据毕业作业
题目一:
分析一条 TPCDS SQL (请基于 Spark 3.1.1 版本解答)
SQL
从中任意选择一条:
https://github.com/apache/spark/tree/master/sql/core/src/test/resources/tpcds
(1)运行该 SQL ,如 q38 ,并截图该 SQL 的 SQL 执行图
(2)该 SQL 用到了哪些优化规则( optimizer rules
(3)请各用不少于 200 字描述其中的两条优化规则
帮助文档:如何运行该
SQL
1. 从 github 下载 TPCDS 数据生成器
>git clone https://github.com/maropu/spark-tpcds-datagen.git
>cd spark-tpcds-datagen
2. 下载 Spark3.1.1 到 spark tpcds datagen 目录并解压
>wget https://archive.apache.org/dist/spark/spark-3.1.1/spark 3.1.1-bin-hadoop2.7.tgz
>tar -zxvf spark 3.1.1-bin-hadoop2.7.tgz
3. 生成数据
>
mkdir -p tpcds-data-1g
>export SPARK_HOME=./spark-3.1.1-bin-hadoop2.7
>./bin/dudgen --output-location tpcds-data-1g
4. 下载三个 test jar 并放到当前目录
>wget
https://repo1.maven.org/maven2/org/apache/spark/spark catalyst_2.12/3.1.1/spark-catalyst_2.1
2 3.1.1-tests.jar
>wget
https://repo1.maven.org/maven2/org/apache/spark/spark core_2.12/3.1.1/spark-core_2.12-3.1.1-tests.jar
>wget
https://repo1.maven.org/maven2/org/apache/spark/spark sql_2.12/3.1.1/spark-sql_2.12-3.1.1-te
sts.jar
5. 执行 SQL
spark-submit --class
org.apache.spark.sql.execution.benchmark.TPCDSQueryBenchmark --jars
spark core_2.12-3.1.1-tests.jar,spark catalyst_2.12-3.1.1-tests.jar
spark sql_2.12-3.1.1-tests.jar data location tpcds data 1g query filter "q73"
版权声明: 本文为 InfoQ 作者【Clarke】的原创文章。
原文链接:【http://xie.infoq.cn/article/be4a08147beb7b5a77927f552】。文章转载请联系作者。
评论