You need to enable JavaScript to run this app.
导航

TOS 中操作 Iceberg 表(适用于 EMR 2.x 版本)

最近更新时间2023.03.15 13:42:46

首次发布时间2023.03.15 13:42:46

Iceberg 表的数据,可以放在火山引擎对象存储服务 TOS 中。本章节为您介绍不同引擎组件中在 TOS 中创建 Iceberg 表的示例。

1 Spark 组件操作示例

1.1 使用前提

  1. 已创建包含 Iceberg、Spark 组件的火山引擎 E-MapReduce(EMR)集群,详见创建集群

1.2 操作步骤

操作步骤类似于Iceberg 基础使用(适用于EMR2.x版本),在 CreateTable 时指定 location 信息即可:

import org.apache.iceberg.hive.HiveCatalog;
val catalog = new HiveCatalog()
catalog.setConf(spark.sparkContext.hadoopConfiguration)
val properties = new util.HashMap[String, String]
properties.put("warehouse", "/user/hive/warehouse/iceberg/hive")
properties.put("uri", "thrift://emr-master-1:9083")
catalog.initialize("hive", properties)
catalog.createTable(name, schema, spec, ${tos地址}, properties); --创建 Iceberg 表

说明

用例中{TOS地址},需要根据实际情况修改,可参考以下示例填写:tos://ceshi/autotest/iceberg/hive

2 Trino/Presto 组件操作示例

EMR 2.X 集群版本中,Presto/Trino 操作 Iceberg 表的步骤与EMR 3.X 集群版本一致,操作示例可详见 TOS 中操作 Iceberg 表---Trino/Presto 组件操作示例