You need to enable JavaScript to run this app.
导航
Iceberg 参数配置
最近更新时间:2023.11.27 14:22:06首次发布时间:2022.09.22 16:55:46

本文为您介绍 Iceberg 表使用数据湖元数据的必要配置。

1 Spark 配置

Spark 支持的 catalog type 有 Hive 和 Hadoop。关于 catalog 的参数配置还可参考官网

1.1 Catalog type 为 hive

参数参数值描述

spark.sql.catalog.<catalog-name>.type

hive

底层 Iceberg catalog 实现类型,HiveCatalog,或者HadoopCatalog。如果未配置,则采用 custom catalog。

spark.sql.extensions

org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

Spark SQL 扩展模块。固定值。

spark.sql.catalog.<catalog-name>

org.apache.iceberg.spark.SparkCatalog

Catalog 名称。固定值。
另外,如果想看到同一个数据库下非 Iceberg 表和 Iceberg 表,该参数配置为:org.apache.iceberg.spark.SparkSessionCatalog

spark.sql.catalog.<catalog-name>.uri

thrift://master-1-1:9083

Metastore 的地址。查看 Hive 组件的配置文件 hive-site 中hive.metastore.uris参数对应的值。

spark.sql.catalog.<catalog-name>.warehouse

hdfs://master-1-1:8020/warehouse/path

Warehouse 地址。查看 Hive 组件的配置文件 hive-site 中hive.metastore.warehouse.dir参数对应的值,也可以自定义路径。也支持 TOS 路径。

1.1.1 示例:

spark.sql.catalog.hive_prod = org.apache.iceberg.spark.SparkCatalog
spark.sql.catalog.hive_prod.type = hive
spark.sql.catalog.hive_prod.uri = thrift://master-1-1:9083
# omit uri to use the same URI as Spark: hive.metastore.uris in hive-site.xml

1.2 Catalog type 为 hadoop

参数参数值描述

spark.sql.catalog.<catalog-name>.type

hadoop

底层 Iceberg catalog实现类型,HiveCatalog,或者HadoopCatalog。如果未配置,则采用 custom catalog。

spark.sql.extensions

org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

Spark SQL 扩展模块。固定值。

spark.sql.catalog.<catalog-name>

org.apache.iceberg.spark.SparkCatalog

Catalog 名称。固定值。
另外,如果想看到同一个数据库下非 Iceberg 表和 Iceberg 表,该参数配置为:org.apache.iceberg.spark.SparkSessionCatalog

spark.sql.catalog.<catalog-name>.warehouse

hdfs://master-1-1:8020/warehouse/path

Warehouse 地址。可以采用 HDFS 存储,也可以采用 TOS 存储

1.2.1 示例:

spark.sql.catalog.hadoop_prod = org.apache.iceberg.spark.SparkCatalog
spark.sql.catalog.hadoop_prod.type = hadoop
spark.sql.catalog.hadoop_prod.warehouse = hdfs://master-1-1:8020/warehouse/path

1.3 Catalog type 为空

参数参数值描述
spark.sql.catalog.<catalog-name>.catalog-impl底层 Iceberg catalog 实现类型。spark.sql.catalog.<catalog-name>.type 为空时,需配置该参数。

2 Hive 配置

Hive 中支持 Iceberg 的 catalog type 有 Hive、Hadoop,也可以为空。 type 不同,配置项也不同:

2.1 Catalog type 为 Hive

参数说明

iceberg.catalog.<catalog_name>.type

配置为 Hive

iceberg.catalog.<catalog_name>.uri

Metastore 的地址。查看 Hive 组件的配置文件 hive-site 中hive.metastore.uris参数对应的值。

iceberg.catalog.<catalog_name>.clients客户端 pool 的个数

2.1.1 示例:

SET iceberg.catalog.another_hive.type=hive;
SET iceberg.catalog.another_hive.uri=thrift://master-1-1:9083;

2.2 Catalog type 为 hadoop

参数说明
iceberg.catalog.<catalog_name>.type配置为 hadoop
iceberg.catalog.iceberg.clients客户端 pool 的个数
iceberg.catalog.iceberg.warehouseWarehouse 地址

2.2.1 示例:

SET iceberg.catalog.hadoop.type=hadoop;
SET iceberg.catalog.hadoop.warehouse=hdfs://master-1-1:8020/warehouse;

2.3 Catalog type 为空

参数说明
iceberg.catalog.<catalog_name>.catalog-implcatalog 的实现。catalog type 为空时,需配置。