Spark SQL 查询引擎连接器

Hive

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

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

Kyuubi Hive 连接器是用于读写 Hive 表的数据源,它基于 Spark DataSource V2 实现,支持同时连接多个 Hive metastore。

该连接器可用于在单个 Spark 集群中对多个 Hive 数据仓库进行联合查询。

Hive 连接器集成

要通过 Apache Spark Datasource V2 和 Catalog API 启用 Kyuubi Spark SQL 引擎与 Hive 连接器的集成,你需要:

  • 引入 Hive 连接器的依赖
  • 设置 Spark 扩展与 catalog 的配置

依赖

支持 Hive 连接器的 Kyuubi Spark SQL 引擎的 classpath 由以下部分组成:

  1. kyuubi-spark-connector-hive_2.12-1.9.1,即随 Kyuubi 发行版部署的 Hive 连接器 jar 包
  2. 一份 Spark 发行版

为了让 Hive 连接器的包对引擎的运行时 classpath 可见,可以采用以下任一方式:

  1. 将 Kyuubi Hive 连接器的包直接放入 $SPARK_HOME/jars
  2. 设置 spark.jars=/path/to/kyuubi-hive-connector

配置

要激活 Kyuubi Hive 连接器的功能,可以设置以下配置:

spark.sql.catalog.hive_catalog     org.apache.kyuubi.spark.connector.hive.HiveTableCatalog
spark.sql.catalog.hive_catalog.spark.sql.hive.metastore.version     hive-metastore-version
spark.sql.catalog.hive_catalog.hive.metastore.uris     thrift://metastore-host:port
spark.sql.catalog.hive_catalog.hive.metastore.port     port
spark.sql.catalog.hive_catalog.spark.sql.hive.metastore.jars     path
spark.sql.catalog.hive_catalog.spark.sql.hive.metastore.jars.path     file:///opt/hive1/lib/*.jar

::: tip 提示

关于多版本 Hive 配置的详细信息,请参阅 Apache Spark 支持的相关多版本 Hive 配置。

:::

Hive 连接器操作

以 CREATE NAMESPACE 为例,

CREATE NAMESPACE ns;

以 CREATE TABLE 为例,

CREATE TABLE hive_catalog.ns.foo (
  id bigint COMMENT 'unique id',
  data string)
USING parquet;

以 SELECT 为例,

SELECT * FROM hive_catalog.ns.foo;

以 INSERT 为例,

INSERT INTO hive_catalog.ns.foo VALUES (1, 'a'), (2, 'b'), (3, 'c');

以 DROP TABLE 为例,

DROP TABLE hive_catalog.ns.foo;

以 DROP NAMESPACE 为例,

DROP NAMESPACE hive_catalog.ns;

评论

登录后参与评论

正在加载评论…