我目前正在使用spark(scala)在Apache Hudi上做一个POC。
我在使用分区保存数据帧时遇到了一个问题。
Hudi使用属性PARTITIONPATH_FIELD_OPT_KEY用path/valueOfPartitionCol1/valueOfPartitionCol2....保存数据帧。
但我的需求是path/COL1=value/COL2=value....,类似于spark使用partitionBy()对数据进行分区的方式。
有没有试过用Hudi进行自定义分区的人可以帮我?
发布于 2020-04-03 16:34:45
这能帮上忙吗?配置HIVE_STYLE_PARTITIONING_OPT_KEY=true设置如下:
batchDF.write.format("org.apache.hudi")
.option(HIVE_STYLE_PARTITIONING_OPT_KEY, true)
.mode(SaveMode.Append)
.save(bathPath)发布于 2020-05-07 22:53:27
您可以创建自定义实现的KeyGenerator类,实现override def getKey(record: GenericRecord): HoodieKey类。在此方法中,您将获得一个GenericRecord实例并返回一个HoodieKey()类,该类允许您定义用于生成路径分区的自定义逻辑
https://stackoverflow.com/questions/59356613
复制相似问题