文档首页/ MapReduce服务 MRS/ 组件操作指南(LTS版)/ 使用Hudi/ Hudi常见问题/ Hudi表主键字段设置为单字符读取报错
更新时间:2026-06-29 GMT+08:00
分享

Hudi表主键字段设置为单字符读取报错

问题

MRS 3.6.0-LTS.1版本创建Hudi表时主键字段名的长度为1,数据写入成功,但读取报错。

Caused by: java.lang.IllegalArgumentException: sort merge not support no meta fields table
        at org.apache.hudi.common.table.log.lsm.DefaultIteratorWithPriority.<init>(DefaultIteratorWithPriority.java:60)
        at org.apache.hudi.common.table.log.HoodieLsmLogRecordScanner.getLogIterators(HoodieLsmLogRecordScanner.java:130)
        at org.apache.hudi.table.action.compact.lsm.LsmCompactionSortMergeReader.getMergeIterator(LsmCompactionSortMergeReader.java:286)
        at org.apache.hudi.LsmMergeIterator.<init>(Iterators.scala:196)
        at org.apache.hudi.HoodieMergeOnReadRDD.getLsmMergeIterator(HoodieMergeOnReadRDD.scala:303)
        at org.apache.hudi.HoodieMergeOnReadRDD.buildLsmMergeIterator(HoodieMergeOnReadRDD.scala:286)
        at org.apache.hudi.HoodieMergeOnReadRDD.compute(HoodieMergeOnReadRDD.scala:125)
        at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:367)
        at org.apache.spark.rdd.RDD.iterator(RDD.scala:331)

回答

LSM是一种用于高效写入的数据结构,将数据先写入内存,再合并到磁盘,广泛用于数据湖的增量存储引擎。

LSM特性不支持Hudi表主键字段名长度为1。

相关文档