[HUDI-2656] Generalize HoodieIndex for flexible record data type (#3893)
Co-authored-by: Raymond Xu <2701446+xushiyan@users.noreply.github.com>
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
package org.apache.hudi.utilities.testutils;
|
||||
|
||||
import org.apache.hudi.common.config.TypedProperties;
|
||||
import org.apache.hudi.common.model.HoodieAvroRecord;
|
||||
import org.apache.hudi.common.model.HoodieRecord;
|
||||
import org.apache.hudi.common.testutils.HoodieTestDataGenerator;
|
||||
|
||||
@@ -81,7 +82,8 @@ public class JdbcTestUtils {
|
||||
.stream()
|
||||
.map(r -> {
|
||||
try {
|
||||
return ((GenericRecord) r.getData().getInsertValue(HoodieTestDataGenerator.AVRO_SCHEMA, props).get());
|
||||
return ((GenericRecord) ((HoodieAvroRecord) r).getData()
|
||||
.getInsertValue(HoodieTestDataGenerator.AVRO_SCHEMA, props).get());
|
||||
} catch (IOException e) {
|
||||
return null;
|
||||
}
|
||||
@@ -125,7 +127,7 @@ public class JdbcTestUtils {
|
||||
List<HoodieRecord> updateRecords = dataGenerator.generateUpdates(commitTime, inserts);
|
||||
updateRecords.stream().map(m -> {
|
||||
try {
|
||||
return m.getData().getInsertValue(HoodieTestDataGenerator.AVRO_SCHEMA, props).get();
|
||||
return ((HoodieAvroRecord) m).getData().getInsertValue(HoodieTestDataGenerator.AVRO_SCHEMA, props).get();
|
||||
} catch (IOException e) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ package org.apache.hudi.utilities.testutils;
|
||||
|
||||
import org.apache.hudi.client.common.HoodieSparkEngineContext;
|
||||
import org.apache.hudi.common.config.TypedProperties;
|
||||
import org.apache.hudi.common.model.HoodieAvroRecord;
|
||||
import org.apache.hudi.common.model.HoodieRecord;
|
||||
import org.apache.hudi.common.model.HoodieTableType;
|
||||
import org.apache.hudi.common.table.HoodieTableMetaClient;
|
||||
@@ -378,7 +379,7 @@ public class UtilitiesTestBase {
|
||||
|
||||
public static GenericRecord toGenericRecord(HoodieRecord hoodieRecord, Schema schema) {
|
||||
try {
|
||||
Option<IndexedRecord> recordOpt = hoodieRecord.getData().getInsertValue(schema);
|
||||
Option<IndexedRecord> recordOpt = ((HoodieAvroRecord) hoodieRecord).getData().getInsertValue(schema);
|
||||
return (GenericRecord) recordOpt.get();
|
||||
} catch (IOException e) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user