Apache Paimon(孵化中)
Apache Paimon(Incubating)是一个流式数据湖平台,支持高速数据摄取、变更数据跟踪以及高效的实时分析。
::: tip 提示
本文假定你已经掌握了 Apache Paimon(Incubating) 的基础知识和操作方法。关于本文中未提及的 Apache Paimon(Incubating)相关知识,你可以查阅其官方文档。
:::
通过使用 Kyuubi,我们可以对 Apache Paimon(Incubating)执行 SQL 查询,这比直接使用 Hive 操作 Apache Paimon(Incubating)更加方便、易于理解且易于扩展。
Apache Paimon(Incubating)集成
要启用 Kyuubi Hive SQL 引擎与 Apache Paimon(Incubating)的集成,你需要:
依赖
支持 Iceberg 的 Kyuubi Hive SQL 引擎的 classpath 由以下部分组成:
- kyuubi-hive-sql-engine-1.9.1_2.12.jar,随 Kyuubi 发行版部署的引擎 jar
- Hive 发行版的一份副本
- paimon-hive-connector-<hive.binary.version>-<paimon.version>.jar(例如:paimon-hive-connector-3.1-0.4-SNAPSHOT.jar),该文件可以在 Apache Paimon(Incubating)支持的引擎 Hive 中找到
为了使 Hive 相关的包对引擎的运行时 classpath 可见,我们可以使用以下方法之一:
- 你可以在 Hive 的根目录下创建一个 auxlib 文件夹,并将 paimon-hive-connector-3.1-<paimon.version>.jar 复制到 auxlib 中。
- 在 Kyuubi 中执行 ADD JAR 语句,将依赖添加到 Hive 的辅助 classpath 中。例如:
ADD JAR /path/to/paimon-hive-connector-3.1-<paimon.version>.jar;警告
不推荐使用第二种方法。如果使用 MR 执行引擎并运行 join 语句,可能会遇到异常 org.apache.hive.com.esotericsoftware.kryo.kryoexception: unable to find class.。
警告
请注意不同 Apache Paimon (Incubating) 与 Hive 版本之间的兼容性,可在 Apache Paimon (Incubating) 多引擎支持 页面确认。
配置
如果使用 HDFS,请确保已设置环境变量 HADOOP_HOME 或 HADOOP_CONF_DIR。
Apache Paimon (Incubating) 操作
Apache Paimon (Incubating) 仅支持通过 Hive 读取表存储表。常见的场景是使用 Spark 或 Flink 写入数据,然后使用 Hive 读取数据。您可以按照文档 Apache Paimon (Incubating) 使用 Paimon Hive Catalog 快速入门 将数据写入一个也可直接由 Hive 访问的表,然后使用 Kyuubi Hive SQL 引擎通过以下 SQL SELECT 语句查询该表。
以 查询数据 为例,
SELECT a, b FROM test_table ORDER BY a;以 Query External Table 为例,
CREATE EXTERNAL TABLE external_test_table
STORED BY 'org.apache.paimon.hive.PaimonStorageHandler'
LOCATION '/path/to/table/store/warehouse/default.db/test_table';
SELECT a, b FROM test_table ORDER BY a;评论
登录后参与评论
KnowForge