摘要:SparkSQL 建 Hudi 表语句: ```sql CREATE TABLE t71 ( ds BIGINT, ut STRING, pk BIGINT, f0 BIGINT, f1 BIGINT, f2 BIGINT, f3 BIGINT, f4 BIGINT ) USING hudi PAR
阅读全文
摘要:设置错误的 payload: set `hoodie.datasource.write.payload.class`=`org.apache.hudi.common.model.PartialUpdateAvroPayloadX`; 在执行 insert 时报错: 2023-05-18 15:50:
阅读全文
摘要:场景: 使用flink读取一张hudi表,将数据写入到另外一张hudi表。 错误栈: java.lang.NumberFormatException: For input string: "test_table" at java.lang.NumberFormatException.forInput
阅读全文
摘要:区别: FlinkSQL 的 insert 语句可只操作部分字段,而 SparkSQL 必须指定所有字段: spark-sql> create table t11 ( > ds BIGINT, > ts BIGINT, > pk BIGINT, > f0 BIGINT, > f1 BIGINT, >
阅读全文
摘要:建表后并不会产生 ro 和 rt 两个表: spark-sql> create table hudi_mor_tbl ( > id int, > name string, > price double, > ts bigint > ) using hudi > tblproperties ( > t
阅读全文
摘要:测试中,发现虽然显示设置为 upsert,且也按规范设置了 primaryKey、preCombineField,type 等,但查出的结果仍然存在重复。反复测试,重复的数据稳定为 2,且同一数据的一笔提交时间也保持不变。结果显示同一数据分区相同,但来自不同的 HDFS 文件。 相关Issue 这个
阅读全文
摘要:假设有一张下面这样的 MOR 类型的 hudi 表: CREATE TABLE t_test_001 ( ds BIGINT COMMENT 'ds', ut BIGINT COMMENT 'ut', pk BIGINT COMMENT 'pk', a0 BIGINT COMMENT 'a0', a
阅读全文
摘要:注意事项 表要有主键 库名和表名不能有点号 是个 BUG,估计后续会修复。 表名不能有大写 也是个 BUG,估计后续会修复。 如果表名含有大写的字母,查询时日志可看到如下信息: java.util.concurrent.ExecutionException: java.io.FileNotFound
阅读全文
摘要:当执行 SparkSQL 遇到这个错误时,可能是因为对应分区的数据全被删除了,变成了空分区,解决办法是删除该分区。 hdfs://warehouse/test.db/t_test/20230511/eaf5f003-5658-4b19-b706-ac487cebad7e-0_3-10-79_2023
阅读全文
摘要:hudi的bucket.index相关配置的源码文件为 HoodieIndexConfig.java 。 通用配置 |配置项名|默认值|说明|引入版本| |:-|:-|:-|:-| |hoodie.index.type|默认值和引擎有关,Flink上默认值为FLINK_STATE,Spark上默认值
阅读全文
摘要:Hudi 的索引是 hoodiekey 到文件组(File Group)或者文件 ID(File ID)的映射,hoodiekey 由 recordkey 和 partitionpath 两部分组成。 定义在文件 HoodieIndex.java 中。 分一下几种: |类型|说明| |:-|:-|
阅读全文
摘要:从不同资料,可看到四个让人迷惑的 precombine.field 配置项: precombine.field write.precombine.field hoodie.table.precombine.field hoodie.datasource.write.precombine.field
阅读全文
摘要:工厂类 HoodieTableFactory 提供的创建动态表接口 createDynamicTableSource 和 createDynamicTableSink,对应的源码文件为:https://github.com/apache/hudi/blob/master/hudi-flink-dat
阅读全文
摘要:名词 FallbackKeys 备选 keys,可理解为别名,当指定的 key 不存在是,则找备选 keys,在这里指配置项的名字。 相关源码 FlinkOptions // https://github.com/apache/hudi/blob/master/hudi-flink-datasour
阅读全文
摘要:Hudi 官方配置文档:https://hudi.apache.org/docs/configurations,从源码分析可以看到配置项 hoodie.payload.ordering.field 已经废弃,取而代之的是 hoodie.datasource.write.precombine.fiel
阅读全文
摘要:Flink Sql Configs |配置项|是否必须|默认值|配置说明| |:-|:-|:-|:-| |path|Y|N/A|Hudi表的 base path,如果不存在会创建,否则应是一个已初始化成功的 hudi 表| |read.end-commit|Y|N/A|| |read.start-c
阅读全文
摘要:https://hudi.apache.org/docs/configurations Hudi配置分类 Spark Datasource Configs Spark Datasource 的配置。 Flink Sql Configs Flink SQL source/sink connectors
阅读全文
摘要:版本:2.2 如果源表没有主键,则运行时报错: 2023-03-13 21:28:25,244 INFO [679] [com.ververica.cdc.connectors.mysql.source.assigners.ChunkSplitter.generateSplits(ChunkSpli
阅读全文
摘要:版本:2.2 结论:是个截至最新的 2.3 均一直未修复的 BUG CDC 过程 SHOW DATABASES -- 找到所有的库 -> SHOW FULL TABLES IN `$DBNAME` where Table_Type = 'BASE TABLE' -- 找到库中的所有的表 -> 过滤出
阅读全文
摘要:如遇到如下错误,表示需要调大配置项 taskmanager.memory.framework.off-heap.size 的值,taskmanager.memory.framework.off-heap.size 的默认值为 128MB,错误显示不够用需要调大。 2022-12-16 09:09:2
阅读全文