Spark SQL 查询引擎连接器

TPC-H

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

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

TPC-H 是一个决策支持基准测试。它由一套面向业务的即席查询和并发数据修改组成。所选用的查询和填充数据库的数据具有广泛的行业相关性。

:::tip 提示
本文假定你已经掌握了 TPC-H 的基础知识与操作。关于本文未提及的 TPC-H 知识,你可以从其官方文档中获取。
:::

该连接器可用于测试 Spark 的能力和查询语法,无需配置对外部数据源的访问。当你查询 TPC-H 表时,连接器会使用确定性算法即时生成数据。

前往 Try Kyuubi 立即体验 TPC-H 数据!

TPC-H 集成

要通过 Apache Spark Datasource V2 和 Catalog API 启用 Kyuubi Spark SQL 引擎与 TPC-H 的集成,你需要:

  • 引入 TPC-H 连接器的依赖
  • 设置 Spark catalog 的配置

依赖

支持 TPC-H 的 Kyuubi Spark SQL 引擎的 classpath 由以下部分组成:

  1. kyuubi-spark-sql-engine-1.9.1_2.12.jar,随 Kyuubi 发行版部署的引擎 jar 包
  2. 一份 Spark 发行版
  3. kyuubi-spark-connector-tpch-1.9.1_2.12.jar,可在 Maven Central 中找到

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

  1. 将 TPC-H 连接器包直接放入 $SPARK_HOME/jars
  2. 设置 spark.jars=kyuubi-spark-connector-tpch-1.9.1_2.12.jar

配置

要将 TPC-H 表添加为 catalog,我们可以在 $SPARK_HOME/conf/spark-defaults.conf 中设置以下配置:

# (required) Register a catalog named `tpch` for the spark engine.
spark.sql.catalog.tpch=org.apache.kyuubi.spark.connector.tpch.TPCHCatalog

# (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.tpch.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.tpch.useAnsiStringType=false

# (optional) Maximum bytes per task, consider reducing it if you want higher parallelism.
spark.sql.catalog.tpch.read.maxPartitionBytes=128m

TPC-H 操作

列出 tpch catalog 下的数据库。

SHOW DATABASES IN tpch;

列出 tpch.sf1 数据库中的表。

SHOW TABLES IN tpch.sf1;

将当前数据库切换到 tpch.sf1,并对其执行查询。

USE tpch.sf1;
SELECT * FROM orders;

评论

登录后参与评论

正在加载评论…