先在flink sql客户端中建表,语句如下:
CREATE TABLE hive_catalog.default.sample (
id INT COMMENT 'unique id',
data STRING NOT NULL,
PRIMARY KEY(id) NOT ENFORCED
) with ('format-version'='2', 'write.upsert.enabled'='true');
创建后确认表路径都存在,也可以在hive里查看DDL;
flink1.18写入iceberg1.5.2 api streaming代码如下:
Configuration hadoopConf = new Configuration();
TableLoader tableLoader = TableLoader.fromHadoopTable("hdfs://nn:8020/warehouse/path", hadoopConf);
FlinkSink.forRowData(input)
.tableLoader(tableLoader)
.upsert(true)
.append();
提示错误信息:"Caused by: org.apache.iceberg.exceptions.NoSuchTableException: Table does not exist at location: hdfs://",大佬能帮忙看一下原因吗?看官方github也有提过flink写入iceberg这个版本的问题,但是官方没回复呢,新发版的iceberg1.6.0也没看到对类似问题的修正,不知道是不是官方认为没有问题
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。