Spark SQL 查询引擎连接器
TPC-DS
登录后可跨设备保存划线和私人笔记登录
TPC-DS 是一个决策支持基准测试,由一系列面向业务的即席查询和并发数据修改组成。所选用的查询以及填充数据库的数据均具有广泛的行业相关性。
::: tip 提示
本文假设你已经掌握了 TPC-DS 的基础知识和操作方法。对于本文中未提及的 TPC-DS 相关知识,你可以查阅其官方文档。
:::
使用此连接器无需配置外部数据源的访问,即可测试 Spark 的功能和查询语法。当你查询 TPC-DS 表时,该连接器会使用确定性算法即时生成数据。
访问 Try Kyuubi,立即探索 TPC-DS 数据!
TPC-DS 集成
要通过 Apache Spark Datasource V2 和 Catalog API 实现 Kyuubi Spark SQL 引擎与 TPC-DS 的集成,你需要:
依赖项
支持 TPC-DS 的 Kyuubi Spark SQL 引擎的 classpath 由以下部分组成:
- kyuubi-spark-sql-engine-1.9.1_2.12.jar,即随 Kyuubi 发行版部署的引擎 jar 包
- 一份 Spark 发行版的拷贝
- kyuubi-spark-connector-tpcds-1.9.1_2.12.jar,可在 Maven 中央仓库中找到
为了让引擎的运行时 classpath 能够看到 TPC-DS 连接器包,我们可以采用以下任一方法:
- 将 TPC-DS 连接器包直接放入
$SPARK_HOME/jars - 设置 spark.jars=kyuubi-spark-connector-tpcds-1.9.1_2.12.jar
配置项
要将 TPC-DS 表作为 catalog 添加,我们可以在 $SPARK_HOME/conf/spark-defaults.conf 中设置以下配置项:
# (required) Register a catalog named `tpcds` for the spark engine.
spark.sql.catalog.tpcds=org.apache.kyuubi.spark.connector.tpcds.TPCDSCatalog
# (optional) Excluded database list from the catalog, all available databases are:
# sf0, tiny, sf1, sf10, sf30, sf100, sf300, sf1000, sf3000, sf10000, sf30000, sf100000.
spark.sql.catalog.tpcds.excludeDatabases=sf10000,sf30000
# (optional) When true, use CHAR/VARCHAR, otherwise use STRING. It affects output of the table schema,
# e.g. `SHOW CREATE TABLE <table>`, `DESC <table>`.
spark.sql.catalog.tpcds.useAnsiStringType=false
# (optional) TPCDS changed table schemas in v2.6.0, turn off this option to use old table schemas.
# See detail at: https://www.tpc.org/tpc_documents_current_versions/pdf/tpc-ds_v3.2.0.pdf
spark.sql.catalog.tpcds.useTableSchema_2_6=true
# (optional) Maximum bytes per task, consider reducing it if you want higher parallelism.
spark.sql.catalog.tpcds.read.maxPartitionBytes=128mTPC-DS 操作
列出 tpcds catalog 下的数据库。
SHOW DATABASES IN tpcds;列出 tpcds.sf1 数据库下的表。
SHOW TABLES IN tpcds.sf1;将当前数据库切换到 tpcds.sf1,并针对它执行查询。
USE tpcds.sf1;
SELECT * FROM store;评论
登录后参与评论
正在加载评论…
KnowForge