Spark SQL 查询引擎连接器

TPC-DS

师成师成· 更新于 2026-09-29· 阅读 5 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

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 由以下部分组成:

  1. kyuubi-spark-sql-engine-1.9.1_2.12.jar,即随 Kyuubi 发行版部署的引擎 jar 包
  2. 一份 Spark 发行版的拷贝
  3. kyuubi-spark-connector-tpcds-1.9.1_2.12.jar,可在 Maven 中央仓库中找到

为了让引擎的运行时 classpath 能够看到 TPC-DS 连接器包,我们可以采用以下任一方法:

  1. 将 TPC-DS 连接器包直接放入 $SPARK_HOME/jars
  2. 设置 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=128m

TPC-DS 操作

列出 tpcds catalog 下的数据库。

SHOW DATABASES IN tpcds;

列出 tpcds.sf1 数据库下的表。

SHOW TABLES IN tpcds.sf1;

将当前数据库切换到 tpcds.sf1,并针对它执行查询。

USE tpcds.sf1;
SELECT * FROM store;

评论

登录后参与评论

正在加载评论…