《hudi-的overwritenondefaultswithlatestavropayload-实践.docx》由会员分享,可在线阅读,更多相关《hudi-的overwritenondefaultswithlatestavropayload-实践.docx(3页珍藏版)》请在优知文库上搜索。
1、hudi的Overwritenondefaultswithlatestavropayload实践Overwritenondefaultswithlatestavropayload是Hudi的一个特性,用于处理写入操作时如何处理那些具有非默认配置的AVRO文件。Hudi是一个用于处理大型数据集的库,它提供了对数据的快速读取、写入和更新操作。当在Hudi中进行写入操作时,可能会遇到一些具有非默认配置的AVRO文件。这些文件可能具有不同的压缩设置、schema等。Overwritenondefaultswithlatestavropayload特性允许你在进行写入操作时,将这些具有非默认配置的AVR
2、O文件覆盖为最新的AVRO文件。下面是一个简单的实践示例,演示如何使用OVerWritenOndefaultswithlatestavropayload特性:1 .首先,确保你已经安装了Hudio你可以通过Maven或其他方式将其添加到你的项目中。2.创建一个Hudi表,并为其指定一个AVRO格式的输出目录:importorg.apache,hudi.client.HoodieWriteClient;importorg.apache,hudi.client.WriteConcurrencyMode;importorg.apache,hudi.config.HoodieWriteConfig;i
3、mportorg.apache,hudi.table.HoodieTable;importorg.apache,hudi.table.HoodieTableMetaClient;importorg.apache,hudi.table,action.HoodieWriteActions;importjava.util.Properties;publicclassHudiPracticepublicstaticvoidmain(Stringargs)/配置Hudi写入客户端Propertiesproperties-newProperties();properties.SetProperty(,ho
4、odie.write,coordinator.interval,f,20000,);properties.SetProperty(,hoodie.write,client,batch.size,1000);properties.SetProperty(,hoodie.write,client,max.outstanding,batches,10);properties.SetProperty(,hoodie.write,client,num.concurrent,writers11,5);properties.SetProperty(,hoodie.write,mode”,WriteConcu
5、rrencyMode.OPTIMISTIC_CONCURRENCY_CONTROL);properties.SetProperty(,hoodie.write,payload,f,true);properties.SetProperty(,hoodie.write.payload.type,AVRO);properties.SetProperty(,hoodie.write,metadata,true);properties.SetProperty(hoodie.write,metadata.type,AVRO);properties.SetProperty(,hoodie.write,ove
6、rwrite_non_defaults_with_latest_avro_payload1,true,f);/其他配置项./创建Hoodie写入客户端HoodieWriteClientWriteClient二HoodieWriteClient.newBuilder(),withConf(properties).withTablePath(7pathto/table,),build();/执行写入操作.)在上面的示例中,通过设置,hoodie.write,overwrite_nondefaults_with_latest_avro_pay1oad为true,我们启用了Overwritenondefaultswithlatestavropayload特性。这将允许在写入操作中覆盖具有非默认配置的AVRO文件。