public class GenericRecordFullPayloadGenerator extends Object implements Serializable
GenericRecord. Every field of a generic record created using this generator contains a random value.| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_HOODIE_IS_DELETED_COL |
static int |
DEFAULT_NUM_DATE_PARTITIONS |
static int |
DEFAULT_PAYLOAD_SIZE |
static int |
DEFAULT_START_PARTITION |
protected Random |
random |
| Constructor and Description |
|---|
GenericRecordFullPayloadGenerator(org.apache.avro.Schema schema) |
GenericRecordFullPayloadGenerator(org.apache.avro.Schema schema,
int minPayloadSize) |
GenericRecordFullPayloadGenerator(org.apache.avro.Schema schema,
int minPayloadSize,
int numDatePartitions,
int startPartition) |
| Modifier and Type | Method and Description |
|---|---|
protected org.apache.avro.generic.GenericRecord |
convertPartial(org.apache.avro.Schema schema)
Create a new
GenericRecord with random values. |
protected org.apache.avro.generic.GenericRecord |
create(org.apache.avro.Schema schema,
Set<String> partitionPathFieldNames) |
protected org.apache.avro.generic.GenericRecord |
generateDeleteRecord(org.apache.avro.generic.GenericRecord record)
Set _hoodie_is_deleted column value to true.
|
int |
getEstimatedFullPayloadSize() |
org.apache.avro.generic.GenericRecord |
getNewPayload()
Create a new
GenericRecord with random value according to given schema. |
protected org.apache.avro.generic.GenericRecord |
getNewPayload(org.apache.avro.Schema schema) |
org.apache.avro.generic.GenericRecord |
getNewPayload(Set<String> partitionPathFieldNames)
Create a new
GenericRecord with random value according to given schema. |
org.apache.avro.generic.GenericRecord |
getNewPayloadWithTimestamp(String tsFieldName) |
protected org.apache.avro.Schema |
getNonNull(org.apache.avro.Schema schema) |
org.apache.avro.generic.GenericRecord |
getUpdatePayload(org.apache.avro.generic.GenericRecord record,
Set<String> blacklistFields)
Update a given
GenericRecord with random value. |
org.apache.avro.generic.GenericRecord |
getUpdatePayloadWithTimestamp(org.apache.avro.generic.GenericRecord record,
Set<String> blacklistFields,
String tsFieldName) |
protected boolean |
isOption(org.apache.avro.Schema schema)
Check whether a schema is option.
|
protected static boolean |
isPrimitive(org.apache.avro.Schema localSchema) |
protected org.apache.avro.generic.GenericRecord |
randomize(org.apache.avro.generic.GenericRecord record,
Set<String> blacklistFields)
Set random value to
GenericRecord according to the schema type of field. |
org.apache.avro.generic.GenericRecord |
updateTimestamp(org.apache.avro.generic.GenericRecord record,
String fieldName)
Generates a sequential timestamp (daily increment), and updates the timestamp field of the record.
|
boolean |
validate(org.apache.avro.generic.GenericRecord record)
Validate whether the record match schema.
|
public static final int DEFAULT_PAYLOAD_SIZE
public static final int DEFAULT_NUM_DATE_PARTITIONS
public static final String DEFAULT_HOODIE_IS_DELETED_COL
public static final int DEFAULT_START_PARTITION
protected final Random random
public GenericRecordFullPayloadGenerator(org.apache.avro.Schema schema)
public GenericRecordFullPayloadGenerator(org.apache.avro.Schema schema,
int minPayloadSize,
int numDatePartitions,
int startPartition)
public GenericRecordFullPayloadGenerator(org.apache.avro.Schema schema,
int minPayloadSize)
protected static boolean isPrimitive(org.apache.avro.Schema localSchema)
public org.apache.avro.generic.GenericRecord getNewPayload()
GenericRecord with random value according to given schema.GenericRecord with random valueprotected org.apache.avro.generic.GenericRecord getNewPayload(org.apache.avro.Schema schema)
public org.apache.avro.generic.GenericRecord getNewPayload(Set<String> partitionPathFieldNames)
GenericRecord with random value according to given schema.
Long fields which are specified within partitionPathFieldNames are constrained to the value of the partition for which records are being generated.GenericRecord with random valuepublic org.apache.avro.generic.GenericRecord getNewPayloadWithTimestamp(String tsFieldName)
public org.apache.avro.generic.GenericRecord getUpdatePayloadWithTimestamp(org.apache.avro.generic.GenericRecord record,
Set<String> blacklistFields,
String tsFieldName)
protected org.apache.avro.generic.GenericRecord create(org.apache.avro.Schema schema,
Set<String> partitionPathFieldNames)
public org.apache.avro.generic.GenericRecord getUpdatePayload(org.apache.avro.generic.GenericRecord record,
Set<String> blacklistFields)
GenericRecord with random value. The fields in blacklistFields will not be updated.record - GenericRecord to updateblacklistFields - Fields whose value should not be touchedGenericRecordprotected org.apache.avro.generic.GenericRecord convertPartial(org.apache.avro.Schema schema)
GenericRecord with random values. Not all the fields have value, it is random, and its value is random too.schema - Schema to create with.GenericRecord with random value.protected org.apache.avro.generic.GenericRecord randomize(org.apache.avro.generic.GenericRecord record,
Set<String> blacklistFields)
GenericRecord according to the schema type of field. The field in blacklist will not be set.record - GenericRecord to randomize.blacklistFields - blacklistFields where the filed will not be randomized.protected org.apache.avro.generic.GenericRecord generateDeleteRecord(org.apache.avro.generic.GenericRecord record)
record - GenericRecord to delete.public boolean validate(org.apache.avro.generic.GenericRecord record)
record - Record to validate.public org.apache.avro.generic.GenericRecord updateTimestamp(org.apache.avro.generic.GenericRecord record,
String fieldName)
protected boolean isOption(org.apache.avro.Schema schema)
protected org.apache.avro.Schema getNonNull(org.apache.avro.Schema schema)
public int getEstimatedFullPayloadSize()
Copyright © 2023 The Apache Software Foundation. All rights reserved.