#pyspark #apache-hudi
Вопрос:
что не так в этой конфигурации ,
ключи разделов не работают в HUDI, а также все записи обновляются в наборе данных hudi во время обновления . поэтому не удалось извлечь дельту из таблиц.
commonConfig = {'className' : 'org.apache.hudi',
'hoodie.datasource.hive_sync.use_jdbc':'false',
'hoodie.datasource.write.precombine.field': 'hash_value',
'hoodie.datasource.write.recordkey.field': 'hash_value',
'hoodie.datasource.hive_sync.partition_fields':'year,month,day',
'hoodie.datasource.hive_sync.partition_extractor_class': 'org.apache.hudi.hive.MultiPartKeysValueExtractor',
'hoodie.datasource.write.keygenerator.class':'org.apache.hudi.ComplexKeyGenerator',
'hoodie.table.name': 'hudi_account',
'hoodie.consistency.check.enabled': 'true',
'hoodie.datasource.hive_sync.database': 'hudi_db',
'hoodie.datasource.hive_sync.table': 'hudi_account',
'hoodie.datasource.hive_sync.enable': 'true',
'path': 's3://' args['curated_bucket'] '/stage_e/hudi_db/hudi_account'}
Мое использование состоит в том, чтобы завершить логику upsert с помощью hudi и разделить с помощью hudi . Upsert частично работает, поскольку он обновляет весь набор записей , как если бы у меня было 10 тыс. записей в необработанном ведре, при выполнении upsert для 1 тыс. записей он обновляет время hudi для всех 10 тыс. данных.
Ответ №1:
Изменились ли ваши ключи разделов? По умолчанию hudi не использует глобальные индексы, но для каждого раздела у меня были проблемы, похожие на ваши, когда я включил глобальный индекс, он работал. Попробуйте добавить эти настройки:
"hoodie.index.type": "GLOBAL_BLOOM", # This is required if we want to ensure we upsert a record, even if the partition changes
"hoodie.bloom.index.update.partition.path": "true", # This is required to write the data into the new partition (defaults to false in 0.8.0, true in 0.9.0)
Я нашел ответ в этом блоге: https://dacort.dev/posts/updating-partition-values-with-apache-hudi/
Здесь вы можете увидеть более подробную информацию об индексах hudi: https://hudi.apache.org/blog/2020/11/11/hudi-indexing-mechanisms/