Hive 创建 iceberg表

开启Hive runtime参数设置:

hive.security.authorization.sqlstd.confwhitelist=mapred.*|hive.*|mapreduce.*|spark.*|iceberg.*|engine.* 
hive.security.authorization.sqlstd.confwhitelist.append=mapred.*|hive.*|mapreduce.*|spark.*|iceberg.*|engine.* 

添加iceberg jar包和设置运行参数:

add jar /data/iceberg-hive-runtime-0.13.1.jar;
SET engine.hive.enabled=true; 
SET iceberg.engine.hive.enabled=true;
SET iceberg.mr.catalog=hive;

创建iceberg表:

CREATE EXTERNAL TABLE icebergtest.testhive3(
  `name` TIMESTAMP WITH LOCAL TIME ZONE)
STORED BY 'org.apache.iceberg.mr.hive.HiveIcebergStorageHandler' ;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive 3 可以通过使用 Hudi 和 Iceberg 插件来适配它们。 对于 Hudi,可以使用以下步骤进行适配: 1. 下载 Hudi 插件,并将其添加到 Hive 的 CLASSPATH 中。 2. 创建 Hudi 时,需要指定类型为 "Hudi",并且使用 Hudi 相关的属性设置。 3. 对于已有的 Hive ,可以使用 CTAS(Create Table As Select)语句将其转换为 Hudi 。例如: ``` CREATE TABLE my_table STORED AS ORC AS SELECT * FROM existing_table ``` 可以改为: ``` CREATE TABLE my_hudi_table USING org.apache.hudi OPTIONS ( ... ) AS SELECT * FROM existing_table ``` 对于 Iceberg,可以使用以下步骤进行适配: 1. 下载 Iceberg 插件,并将其添加到 Hive 的 CLASSPATH 中。 2. 创建 Iceberg 时,需要指定类型为 "Iceberg",并且使用 Iceberg 相关的属性设置。 3. 对于已有的 Hive ,可以使用 CTAS(Create Table As Select)语句将其转换为 Iceberg 。例如: ``` CREATE TABLE my_table STORED AS ORC AS SELECT * FROM existing_table ``` 可以改为: ``` CREATE TABLE my_iceberg_table USING org.apache.iceberg OPTIONS ( ... ) AS SELECT * FROM existing_table ``` 需要注意的是,Hive 3 默认支持 ACID(原子性、一致性、隔离性、持久性)和事务,而 Hudi 和 Iceberg 也都支持 ACID 和事务。因此,在使用 Hudi 和 Iceberg 插件时,需要将 Hive 的 ACID 和事务功能关闭,以避免冲突。可以通过将相关配置项设置为 false 来关闭 ACID 和事务功能。例如: ``` SET hive.support.concurrency=false; SET hive.txn.manager=false; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值