各位,以下问题有社么好的解决办法呢?

各位,请教个问题:batch任务 ,想往hive表里插入group by的结果。但是提示hive does not support consuming update and delete change,有什么好的解决办法吗?

展开
收起
圆葱猪肉包 2023-03-27 14:22:41 381 分享 版权
1 条回答
写回答
取消 提交回答
  • 如果一个表要实现update和delete功能,该表就必须支持ACID,而支持ACID,就必须满足以下条件:

    1、表的存储格式必须是ORC(STORED AS ORC);

    2、表必须进行分桶(CLUSTERED BY (col_name, col_name, ...) INTO num_buckets BUCKETS);

    3、Table property中参数transactional必须设定为True(tblproperties('transactional'='true'));

    4、以下配置项必须被设定:

     Client端:
    

    hive.support.concurrency – true hive.enforce.bucketing – true hive.exec.dynamic.partition.mode – nonstrict
    hive.txn.manager – org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
    服务端:

    hive.compactor.initiator.on – true hive.compactor.worker.threads – 1 hive.txn.manager – org.apache.hadoop.hive.ql.lockmgr.DbTxnManager(经过测试,服务端也需要设定该配置项) 注意:上述配置项必须区分Client端和服务端。在Cloudera Manager上可以分别添加(hive—>配置—>高级),在更新部署配置信息的时候需要勾选部署客户端配置(默认是勾选的)。

    2023-03-28 14:36:37
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理