Search in sources :

Example 1 with HoodieJavaEngineContext

use of org.apache.hudi.client.common.HoodieJavaEngineContext in project rocketmq-externals by apache.

the class Updater method schemaEvolution.

private void schemaEvolution(Schema newSchema, Schema oldSchema) {
    if (null != oldSchema && oldSchema.toString().equals(newSchema.toString())) {
        return;
    }
    log.info("Schema changed. New schema is " + newSchema.toString());
    this.cfg = HoodieWriteConfig.newBuilder().withPath(hudiConnectConfig.getTablePath()).withSchema(this.hudiConnectConfig.schema.toString()).withEngineType(EngineType.JAVA).withParallelism(hudiConnectConfig.getInsertShuffleParallelism(), hudiConnectConfig.getUpsertShuffleParallelism()).withDeleteParallelism(hudiConnectConfig.getDeleteParallelism()).forTable(hudiConnectConfig.getTableName()).withIndexConfig(HoodieIndexConfig.newBuilder().withIndexType(HoodieIndex.IndexType.INMEMORY).build()).withCompactionConfig(HoodieCompactionConfig.newBuilder().archiveCommitsWith(20, 30).build()).build();
    this.hudiWriteClient.close();
    Configuration hadoopConf = new Configuration();
    hadoopConf.setBoolean(AvroReadSupport.AVRO_COMPATIBILITY, false);
    hadoopConf.set(AvroReadSupport.AVRO_DATA_SUPPLIER, GenericDataSupplier.class.getName());
    this.hudiWriteClient = new HoodieJavaWriteClient<HoodieAvroPayload>(new HoodieJavaEngineContext(hadoopConf), cfg);
}
Also used : Configuration(org.apache.hadoop.conf.Configuration) GenericDataSupplier(org.apache.parquet.avro.GenericDataSupplier) HoodieAvroPayload(org.apache.hudi.common.model.HoodieAvroPayload) HoodieJavaEngineContext(org.apache.hudi.client.common.HoodieJavaEngineContext)

Aggregations

Configuration (org.apache.hadoop.conf.Configuration)1 HoodieJavaEngineContext (org.apache.hudi.client.common.HoodieJavaEngineContext)1 HoodieAvroPayload (org.apache.hudi.common.model.HoodieAvroPayload)1 GenericDataSupplier (org.apache.parquet.avro.GenericDataSupplier)1