Разметка Apache Hudi в произвольном формате
В настоящее время я делаю POC на Apache Hudi
с искрой (scala).
У меня возникла проблема при сохранении фрейма данных с разделением.
Худи сохраняет фрейм данных с path/valueOfPartitionCol1/valueOfPartitionCol2....
используя свойство PARTITIONPATH_FIELD_OPT_KEY
.
Но мое требование path/COL1=value/COL2=value....
Подобно тому, как искра разделяет данные с помощью partitionBy()
.
Любой, кто пробовал настраивать разметку с помощью Hudi
может мне помочь?
2 ответа
Может это помочь? установите config HIVE_STYLE_PARTITIONING_OPT_KEY=true, как показано ниже:
batchDF.write.format("org.apache.hudi")
.option(HIVE_STYLE_PARTITIONING_OPT_KEY, true)
.mode(SaveMode.Append)
.save(bathPath)
Вы можете создать собственную реализацию KeyGenerator
класс, Реализация override def getKey(record: GenericRecord): HoodieKey
класс. В этом методе вы получаете экземплярGenericRecord
и вернуть класс HoodieKey()
который позволяет вам определить свою собственную логику для создания раздела пути