Spark 扩展
Hive 方言支持
登录后可跨设备保存划线和私人笔记登录
Hive Dialect 插件旨在为 Spark 的 JDBC 数据源提供 Hive Dialect 支持。它会自动注册到 Spark,并应用于 URL 前缀为 jdbc:hive2:// 或 jdbc:kyuubi:// 的 JDBC 数据源。
Hive Dialect 有助于解决访问 Kyuubi 时的失败问题。在 Spark 中使用 Hive JDBC Driver 或 Kyuubi Hive JDBC Driver 将 Kyuubi 作为 JDBC 数据源查询数据时,会出现失败和非预期的结果,这是因为 Spark JDBC 默认不支持 Hive Dialect,它以 ANSI 风格的 “table.column” 方式对列及其他标识符进行引用,而不是使用 HiveSQL 风格的 `table`.`column`。
特性
以 Hive SQL 风格引用标识符
例如:将
table.column引用为 `table`.`column`
使用方法
获取 Kyuubi Hive Dialect 扩展 jar 包
- 通过执行
build/mvn clean package -pl :kyuubi-extension-spark-jdbc-dialect_2.12 -DskipTests编译扩展 - 在
extensions/spark/kyuubi-extension-spark-jdbc-dialect/target下获取扩展 jar 包 - 如果需要,可以在编译命令中指定相应的 Maven profile 来编译扩展 jar 包,例如通过
-Pspark-3.5编译可获取适用于 Spark 3.5 的扩展 jar 包
- 通过执行
将 Kyuubi Hive Dialect 扩展 jar 包
kyuubi-extension-spark-jdbc-dialect_-*.jar放入$SPARK_HOME/jars启用
KyuubiSparkJdbcDialectExtension,设置spark.sql.extensions=org.apache.spark.sql.dialect.KyuubiSparkJdbcDialectExtension,即:- 在
$SPARK_HOME/conf/spark-defaults.conf中添加一项配置 - 或在 SparkSession builder 中添加配置设置
- 在
评论
登录后参与评论
正在加载评论…
KnowForge