首页 > 编程语言 >javaapi、spark、flink 创建Iceberg表,hive 和impala无法正常读取解决

javaapi、spark、flink 创建Iceberg表,hive 和impala无法正常读取解决

时间:2023-11-02 15:34:02浏览次数:52  
标签:Iceberg tableProperties flink hive spark impala

spark、flink 创建Iceberg表中,元数据存储在hive 的meta_store,发现hive 或者impala无法正常读取报错。事实上解决方案是

在spark 、flink 的SQL中执行语句:

add iceberg相关引擎的runntime的jar;
ALTER TABLE t SET TBLPROPERTIES ('storage_handler'='org.apache.iceberg.mr.hive.HiveIcebergStorageHandler');
就可以解决。
原因是因为impala和hive 是依据元数据库中的
StorageHandler 来序列号和反序列化数据的.

使用iceberg的java的api 建表语句中 建表属性补充上
Catalog catalog=...;
    Map<String, String> tableProperties=Maps.newHashMap();
    tableProperties.put(TableProperties.ENGINE_HIVE_ENABLED,"true"); // engine.hive.enabled=true
    catalog.createTable(tableId,schema,spec,tableProperties);
 
 

标签:Iceberg,tableProperties,flink,hive,spark,impala
From: https://www.cnblogs.com/kxming/p/17805527.html

相关文章

  • Hive / ClickHouse 行转列函数 collect_set() / groupUniqArray() 入门
    Hive/ClickHouse行转列函数collect_set()/groupUniqArray()入门在数据处理和分析中,我们经常会遇到需要将一行数据转换为多列的情况。在Hive和ClickHouse中,可以使用collect_set()和groupUniqArray()函数来实现行转列操作。collect_set()1.功能说明collect_set()函......
  • flink-cdc学习记录
    添加依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......
  • Flink消费kafka数据同步问题排查
    Flink消费kafka数据同步问题排查https://mp.weixin.qq.com/s/EZbCKHBI_JrsF0yJndhe8QFlink消费kafka数据同步问题排查原创 任天兵 哈啰技术 2023-10-3117:31 发表于上海 我们有一个flink任务,消费的kafka的数据,写入到es,非常简单的逻辑,但是出现了数据丢失的情况,之前没遇......
  • Hive
    因为传统数仓的不足,大家希望使用上分布式存储,也就是HDFS。然而使用HDFS后发现,基于数据库的数据仓库用SQL就能做查询,现在换到HDFS上面,只能用Mapreduce任务去做分析。给分析代码极大的不便,因此需要一个框架,使用SQL来做HDFS的查询。Hive正是基于类似SQL的语言完成对hdfs数据的查......
  • 28、Flink 的SQL之DROP 、ALTER 、INSERT 、ANALYZE 语句
    文章目录Flink系列文章一、DROP1、DROPCATALOG2、DROPDATABASE3、DROPTABLE4、DROPVIEW5、DROPFUNCTION6、droptable示例二、alter1、ALTERDATABASE2、ALTERTABLE1)、建表2)、ADD1、增加单列示例2、增加watermark列3)、MODIFY1、修改列2、修改水印4)、DROP5)、RENAME6)、SET7)、......
  • k8s1.26.5 安装 flink1.17.1
    标签(空格分隔):kubernetes系列一:系统环境介绍系统:centos7.9x64k8s集群版本:k8s1.26.5采用kubesphere做页面caclico版本:calicov3.26.1containerd版本:containerd://1.6.24hadoop版本:hadoop3.3.6helm版本:helm3.9.0二:编译得到fl......
  • Hive中json格式字段清洗与提取
    废话不多说,直接上案例如下是某json字段的查询结果,可以看出它是一个json数组selectsales_pricefromorder_goodswhereorder_number='R1001';--结果:[{"threshold_number":1,"group_id":1,"gear_price":"120.00"},{"threshold_number"......
  • Flink客户端操作
    一、mysql数据准备mysql-hip-uroot-p密码CREATEDATABASEflink;USEflink;CREATETABLEuser(idINTEGERNOTNULLPRIMARYKEY,nameVARCHAR(255)NOTNULLDEFAULT'flink',addressVARCHAR(1024),phone_numberVARCHAR(512),emailVARCHAR(255));INSERT......
  • hive高频使用的拼接函数及“避坑”
    hive高频使用的拼接函数及“避坑”说到拼接函数应用场景和使用频次还是非常高,比如一个员工在公司充当多个角色,我们在底层存数的时候往往是多行,但是应用的时候我们通常会只需要一行,角色字段进行拼接,这样join其他表的时候呢也不会造成数据被重复引用计算。1、拼接多个字符串concat_n......
  • Hive学习笔记:nvl和coalesce函数的区别
    nvl函数和coalesce函数都是用来处理空值的函数,但略有不同。注意:非NULL值为NULL,如果是'','','null','NULL'等视为字符串,返回参数本身。一、nvl函数nvl只能处理2个参数,如果第1个不是null,则返回第1个参数,否则返回第2个参数。selectnvl(1,2);--1selectnvl(1,n......