Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
ad54a58
Refactored BigTableReadSchemaTransformConfiguration
arnavarora2004 May 21, 2025
0edf81d
changed scope, working on buffer class for making BigTable yaml fully…
arnavarora2004 May 22, 2025
18c9395
Finished up a bit of standard_io.yaml
arnavarora2004 May 22, 2025
a25033e
Finished up a bit of standard_io.yaml
arnavarora2004 May 27, 2025
0e4fb14
Merge branch 'apache:master' into master
arnavarora2004 Jun 4, 2025
c048dcf
Added bigTable test
arnavarora2004 Jun 4, 2025
4ebc7c8
Merge branch 'master' of github.com:arnavarora2004/ArnavBeamWork
arnavarora2004 Jun 4, 2025
3bb3dfc
changed some tests for BigTable
arnavarora2004 Jun 4, 2025
a8b8196
Added new IT file for simpleWrite and also made changes integration t…
arnavarora2004 Jun 5, 2025
cf8bd8f
Added new IT file for simpleWrite and also made changes integration t…
arnavarora2004 Jun 5, 2025
a06d7c6
SetCell mutation test works, I want to see if this draft PR works CI …
arnavarora2004 Jun 12, 2025
5760278
Fixed a slight error
arnavarora2004 Jun 12, 2025
5cb0dd7
Merge branch 'apache:master' into master
arnavarora2004 Jun 25, 2025
f2640ae
Added way more changes to integrations test.py, BigTableSimpleWriteSc…
arnavarora2004 Jun 25, 2025
69467c5
Merge branch 'master' of github.com:arnavarora2004/ArnavBeamWork
arnavarora2004 Jun 25, 2025
121ddf6
BigTableSimpleWriteSchemaTransformProviderIT finished changes to muta…
arnavarora2004 Jun 25, 2025
82d3612
Merge branch 'apache:master' into master
arnavarora2004 Jun 25, 2025
14ca717
Update sdks/java/io/google-cloud-platform/src/main/java/org/apache/be…
arnavarora2004 Jun 25, 2025
c36d864
Update sdks/java/io/google-cloud-platform/src/main/java/org/apache/be…
arnavarora2004 Jun 25, 2025
d6366dd
Update sdks/java/io/google-cloud-platform/src/main/java/org/apache/be…
arnavarora2004 Jun 25, 2025
fcb5d03
Merge branch 'apache:master' into master
arnavarora2004 Jun 26, 2025
38ff386
Update sdks/java/io/google-cloud-platform/src/main/java/org/apache/be…
arnavarora2004 Jun 26, 2025
a15e4ff
Update sdks/java/io/google-cloud-platform/src/test/java/org/apache/be…
arnavarora2004 Jun 26, 2025
c759a07
changed comments
arnavarora2004 Jun 26, 2025
8e19a81
Merge branch 'master' of github.com:arnavarora2004/ArnavBeamWork
arnavarora2004 Jun 26, 2025
b6d0157
Added changes from derrick comments
arnavarora2004 Jun 26, 2025
7ea3f76
Merge branch 'apache:master' into master
arnavarora2004 Jun 27, 2025
a35ced7
Merge branch 'apache:master' into master
arnavarora2004 Jun 30, 2025
50bb5a3
Added default schema maybe fixes the issues
arnavarora2004 Jun 30, 2025
426519d
Added schema to every test specificly, will run tests to see if it works
arnavarora2004 Jun 30, 2025
3152094
Added default schema maybe fixes the issues
arnavarora2004 Jul 2, 2025
84a3cfd
Merge branch 'apache:master' into master
arnavarora2004 Jul 2, 2025
1ca2527
Following formatting tests
arnavarora2004 Jul 2, 2025
954355b
Merge branch 'apache:master' into master
arnavarora2004 Jul 2, 2025
ab18e18
Following formatting tests
arnavarora2004 Jul 2, 2025
80a732e
Following checkstyle tests
arnavarora2004 Jul 2, 2025
16f1064
Merge branch 'apache:master' into master
arnavarora2004 Jul 7, 2025
3c9c582
Made schema and test changes
arnavarora2004 Jul 7, 2025
b842ac9
Made schema and test changes
arnavarora2004 Jul 7, 2025
0ed5da1
Merge branch 'apache:master' into master
arnavarora2004 Jul 7, 2025
cea5987
Made schema and test changes
arnavarora2004 Jul 7, 2025
b6498c8
Made schema and test changes
arnavarora2004 Jul 8, 2025
5f6992d
Made schema and test changes
arnavarora2004 Jul 9, 2025
bdc9cff
Merge branch 'apache:master' into master
arnavarora2004 Jul 9, 2025
37abe22
Added final test
arnavarora2004 Jul 9, 2025
5cb46df
changed timestamp values
arnavarora2004 Jul 10, 2025
b1fae9c
added all mutations test
arnavarora2004 Jul 10, 2025
4866acc
added all mutations test
arnavarora2004 Jul 10, 2025
8ac0fda
pushed changes to format errors
arnavarora2004 Jul 10, 2025
32bfbe8
Merge branch 'apache:master' into master
arnavarora2004 Jul 10, 2025
b217de2
pushed changes to format errors
arnavarora2004 Jul 10, 2025
1ad3a32
Delete 4
arnavarora2004 Jul 10, 2025
364a761
pushed changes to format errors
arnavarora2004 Jul 10, 2025
5338470
pushed changes to format errors
arnavarora2004 Jul 10, 2025
c1bc8c6
pushed changes to format errors
arnavarora2004 Jul 10, 2025
fad8ae8
Merge branch 'apache:master' into master
arnavarora2004 Jul 14, 2025
4315c4f
pushed changes to debugging errors
arnavarora2004 Jul 14, 2025
9e4514c
pushed changes to debugging errors
arnavarora2004 Jul 14, 2025
64a7303
Merge branch 'apache:master' into master
arnavarora2004 Jul 14, 2025
1fc5366
to see internal error added print(will remove)
arnavarora2004 Jul 14, 2025
680678b
to see internal error added print(will remove)
arnavarora2004 Jul 14, 2025
6fa20ab
to see internal error added print(will remove)
arnavarora2004 Jul 14, 2025
2b2af72
import fixes
arnavarora2004 Jul 14, 2025
8c96d22
import fixes
arnavarora2004 Jul 14, 2025
373b87f
import fixes
arnavarora2004 Jul 14, 2025
9bd071c
import fixes
arnavarora2004 Jul 14, 2025
74b6dc3
import fixes
arnavarora2004 Jul 14, 2025
01f84da
import fixes
arnavarora2004 Jul 14, 2025
54b6ad1
pushed changes to debugging errors
arnavarora2004 Jul 14, 2025
c46ef26
pushed changes to debugging errors
arnavarora2004 Jul 14, 2025
b4fab07
Merge branch 'apache:master' into master
arnavarora2004 Jul 14, 2025
c600ea0
pushed changes to debugging errors, added pulls from other beam
arnavarora2004 Jul 15, 2025
2d30e08
Merge branch 'apache:master' into master
arnavarora2004 Jul 15, 2025
221e558
made changes to allMutations test
arnavarora2004 Jul 15, 2025
9cb6c32
made changes to allMutations test
arnavarora2004 Jul 15, 2025
a9f77eb
Merge branch 'apache:master' into master
arnavarora2004 Jul 15, 2025
c0596f3
pushed changes to debugging errors, added pulls from other beam
arnavarora2004 Jul 16, 2025
1db6821
Merge branch 'apache:master' into master
arnavarora2004 Jul 16, 2025
80544d0
Merge branch 'master' of github.com:arnavarora2004/ArnavBeamWork
arnavarora2004 Jul 16, 2025
5753f18
Merge branch 'apache:master' into master
arnavarora2004 Jul 16, 2025
6cd69d5
pushed changes to debugging errors, added pulls from other beam
arnavarora2004 Jul 16, 2025
a53045c
pushed changes to debugging errors, added pulls from other beam
arnavarora2004 Jul 16, 2025
7874226
Merge branch 'apache:master' into master
arnavarora2004 Jul 16, 2025
92a0ff9
pushed changes to debugging errors, added pulls from other beam
arnavarora2004 Jul 16, 2025
54b9900
pushed changes to debugging errors, added pulls from other beam
arnavarora2004 Jul 16, 2025
5b58815
new read errors fixed
arnavarora2004 Jul 16, 2025
ca12b07
pushed changes to debugging errors, added pulls from other beam
arnavarora2004 Jul 16, 2025
81aa2ed
consolidated schema transform files, fixed small issues and bugs
arnavarora2004 Jul 16, 2025
417bfea
consolidated schema transform files, fixed small issues and bugs
arnavarora2004 Jul 17, 2025
fbf74a5
consolidated schema transform files, fixed small issues and bugs
arnavarora2004 Jul 17, 2025
8aad18a
consolidated schema transform files, fixed small issues and bugs
arnavarora2004 Jul 17, 2025
d3f17bd
pushed changes to debugging errors, added pulls from other beam
arnavarora2004 Jul 17, 2025
d0d12ae
Merge branch 'apache:master' into master
arnavarora2004 Jul 17, 2025
16030c6
pushed changes from ahmed
arnavarora2004 Jul 17, 2025
15a8bd2
pushed changes from ahmed
arnavarora2004 Jul 17, 2025
85c1392
pushed changes from ahmed
arnavarora2004 Jul 17, 2025
2cdd808
pushed changes from ahmed
arnavarora2004 Jul 17, 2025
636df03
pushed changes from ahmed
arnavarora2004 Jul 17, 2025
0ab4db4
pushed changes from ahmed
arnavarora2004 Jul 17, 2025
204ff4d
pushed changes from ahmed
arnavarora2004 Jul 17, 2025
a712320
Merge branch 'apache:master' into master
arnavarora2004 Jul 17, 2025
2e09dd7
Merge branch 'master' of github.com:arnavarora2004/ArnavBeamWork
arnavarora2004 Jul 17, 2025
f28eea9
pushed changes from ahmed
arnavarora2004 Jul 17, 2025
d26b45d
Following checkstyle tests
arnavarora2004 Jul 17, 2025
0b6e855
Following checkstyle tests
arnavarora2004 Jul 17, 2025
bfa8431
Merge branch 'apache:master' into master
arnavarora2004 Jul 23, 2025
78afb0d
Merge branch 'apache:master' into master
arnavarora2004 Jul 24, 2025
df653fc
Merge branch 'apache:master' into master
arnavarora2004 Jul 25, 2025
ff8bb26
pushed new changes to BigTableRead, making it work with new functiona…
arnavarora2004 Jul 25, 2025
80509a2
pushed new changes to BigTableRead, making it work with new functiona…
arnavarora2004 Jul 28, 2025
98642a3
pushed new changes to BigTableRead, making it work with new functiona…
arnavarora2004 Jul 28, 2025
9a7c16e
Update sdks/java/io/google-cloud-platform/src/main/java/org/apache/be…
arnavarora2004 Jul 28, 2025
a12cdbd
pushed new changes to BigTableRead, making it work with new functiona…
arnavarora2004 Jul 28, 2025
de860a4
Merge branch 'master' of github.com:arnavarora2004/ArnavBeamWork
arnavarora2004 Jul 28, 2025
5293f96
pushed new changes to BigTableRead, making it work with new functiona…
arnavarora2004 Jul 28, 2025
bc1d637
Merge branch 'apache:master' into master
arnavarora2004 Jul 28, 2025
159a9ac
Merge branch 'apache:master' into master
arnavarora2004 Jul 29, 2025
4ba3104
pushed new changes to BigTableRead, making it work with new functiona…
arnavarora2004 Jul 29, 2025
ff6449d
pushed new changes to BigTableRead, making it work with new functiona…
arnavarora2004 Jul 29, 2025
dda6544
Merge branch 'apache:master' into master
arnavarora2004 Jul 30, 2025
215587d
new mongo files in branch
arnavarora2004 Jul 30, 2025
b140513
fixed family_name to string
arnavarora2004 Jul 30, 2025
9fd3658
fixed family_name to string
arnavarora2004 Jul 30, 2025
0651ec8
fixed family_name to string
arnavarora2004 Jul 30, 2025
764d51b
Merge branch 'apache:master' into master
arnavarora2004 Jul 30, 2025
b423787
Merge branch 'apache:master' into mongodb
arnavarora2004 Jul 30, 2025
2b0806d
fixed family_name to string
arnavarora2004 Jul 30, 2025
77e4dd3
fixed family_name to string
arnavarora2004 Jul 30, 2025
b4ad9e4
fixed family_name to string
arnavarora2004 Jul 31, 2025
4b9ce38
Merge branch 'apache:master' into master
arnavarora2004 Jul 31, 2025
f56e50d
Merge branch 'mongodb' into master
arnavarora2004 Jul 31, 2025
3386f94
fixed family_name to string
arnavarora2004 Jul 31, 2025
2fd82ea
fixed family_name to string
arnavarora2004 Jul 31, 2025
3059504
fixed cmmit issues
arnavarora2004 Jul 31, 2025
e0a2bd5
Merge branch 'apache:master' into master
arnavarora2004 Jul 31, 2025
af0e80b
Merge branch 'apache:master' into master
arnavarora2004 Aug 1, 2025
188222f
Merge branch 'apache:master' into master
arnavarora2004 Aug 5, 2025
ef8b856
Merge branch 'apache:master' into master
arnavarora2004 Aug 6, 2025
669b80d
commented assert test, everything should work now
arnavarora2004 Aug 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
import com.google.bigtable.v2.Cell;
import com.google.bigtable.v2.Column;
import com.google.bigtable.v2.Family;
import java.nio.ByteBuffer;
import com.google.protobuf.ByteString;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
Expand All @@ -37,11 +38,12 @@
import org.apache.beam.sdk.schemas.transforms.SchemaTransform;
import org.apache.beam.sdk.schemas.transforms.SchemaTransformProvider;
import org.apache.beam.sdk.schemas.transforms.TypedSchemaTransformProvider;
import org.apache.beam.sdk.transforms.MapElements;
import org.apache.beam.sdk.transforms.SimpleFunction;
import org.apache.beam.sdk.transforms.DoFn;
import org.apache.beam.sdk.transforms.ParDo;
import org.apache.beam.sdk.values.PCollection;
import org.apache.beam.sdk.values.PCollectionRowTuple;
import org.apache.beam.sdk.values.Row;
import org.checkerframework.checker.nullness.qual.Nullable;

/**
* An implementation of {@link TypedSchemaTransformProvider} for Bigtable Read jobs configured via
Expand Down Expand Up @@ -69,6 +71,13 @@ public class BigtableReadSchemaTransformProvider
Schema.FieldType.STRING,
Schema.FieldType.array(Schema.FieldType.row(CELL_SCHEMA))))
.build();
public static final Schema FLATTENED_ROW_SCHEMA =
Schema.builder()
.addByteArrayField("key")
.addStringField("family_name")
.addByteArrayField("column_qualifier")
.addArrayField("cells", Schema.FieldType.row(CELL_SCHEMA))
.build();

@Override
protected SchemaTransform from(BigtableReadSchemaTransformConfiguration configuration) {
Expand All @@ -88,7 +97,7 @@ public List<String> outputCollectionNames() {
/** Configuration for reading from Bigtable. */
@DefaultSchema(AutoValueSchema.class)
@AutoValue
public abstract static class BigtableReadSchemaTransformConfiguration {
public abstract static class BigtableReadSchemaTransformConfiguration implements Serializable {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't need to implement Serializable here. Can we remove it? I think it might conflict with Beam's Schema conversion logic

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for some reason this is the only way I can like set it up so it works correctly, I can try to remove it but I don't believe it will work,

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still not working? what error are you seeing?

/** Instantiates a {@link BigtableReadSchemaTransformConfiguration.Builder} instance. */
public void validate() {
String emptyStringMessage =
Expand All @@ -100,7 +109,8 @@ public void validate() {

public static Builder builder() {
return new AutoValue_BigtableReadSchemaTransformProvider_BigtableReadSchemaTransformConfiguration
.Builder();
.Builder()
.setFlatten(true);
}

public abstract String getTableId();
Expand All @@ -109,6 +119,8 @@ public static Builder builder() {

public abstract String getProjectId();

public abstract @Nullable Boolean getFlatten();

/** Builder for the {@link BigtableReadSchemaTransformConfiguration}. */
@AutoValue.Builder
public abstract static class Builder {
Expand All @@ -118,6 +130,8 @@ public abstract static class Builder {

public abstract Builder setProjectId(String projectId);

public abstract Builder setFlatten(Boolean flatten);

/** Builds a {@link BigtableReadSchemaTransformConfiguration} instance. */
public abstract BigtableReadSchemaTransformConfiguration build();
}
Expand Down Expand Up @@ -152,45 +166,97 @@ public PCollectionRowTuple expand(PCollectionRowTuple input) {
.withInstanceId(configuration.getInstanceId())
.withProjectId(configuration.getProjectId()));

Schema outputSchema =
Boolean.FALSE.equals(configuration.getFlatten()) ? ROW_SCHEMA : FLATTENED_ROW_SCHEMA;

PCollection<Row> beamRows =
bigtableRows.apply(MapElements.via(new BigtableRowToBeamRow())).setRowSchema(ROW_SCHEMA);
bigtableRows
.apply("ConvertToBeamRows", ParDo.of(new BigtableRowConverterDoFn(configuration)))
.setRowSchema(outputSchema);

return PCollectionRowTuple.of(OUTPUT_TAG, beamRows);
}
}

public static class BigtableRowToBeamRow extends SimpleFunction<com.google.bigtable.v2.Row, Row> {
@Override
public Row apply(com.google.bigtable.v2.Row bigtableRow) {
// The collection of families is represented as a Map of column families.
// Each column family is represented as a Map of columns.
// Each column is represented as a List of cells
// Each cell is represented as a Beam Row consisting of value and timestamp_micros
Map<String, Map<String, List<Row>>> families = new HashMap<>();

for (Family fam : bigtableRow.getFamiliesList()) {
// Map of column qualifier to list of cells
Map<String, List<Row>> columns = new HashMap<>();
for (Column col : fam.getColumnsList()) {
List<Row> cells = new ArrayList<>();
for (Cell cell : col.getCellsList()) {
Row cellRow =
Row.withSchema(CELL_SCHEMA)
.withFieldValue("value", ByteBuffer.wrap(cell.getValue().toByteArray()))
.withFieldValue("timestamp_micros", cell.getTimestampMicros())
/**
* A {@link DoFn} that converts a Bigtable {@link com.google.bigtable.v2.Row} to a Beam {@link
* Row}. It supports both a nested representation and a flattened representation where each column
* becomes a separate output element.
*/
private static class BigtableRowConverterDoFn extends DoFn<com.google.bigtable.v2.Row, Row> {
private final BigtableReadSchemaTransformConfiguration configuration;

BigtableRowConverterDoFn(BigtableReadSchemaTransformConfiguration configuration) {
this.configuration = configuration;
}

private List<Row> convertCells(List<Cell> bigtableCells) {
List<Row> beamCells = new ArrayList<>();
for (Cell cell : bigtableCells) {
Row cellRow =
Row.withSchema(CELL_SCHEMA)
.withFieldValue("value", cell.getValue().toByteArray())
.withFieldValue("timestamp_micros", cell.getTimestampMicros())
.build();
beamCells.add(cellRow);
}
return beamCells;
}

@ProcessElement
public void processElement(
@Element com.google.bigtable.v2.Row bigtableRow, OutputReceiver<Row> out) {
// The builder defaults flatten to true. We check for an explicit false setting to disable it.

if (Boolean.FALSE.equals(configuration.getFlatten())) {
// Non-flattening logic (original behavior): one output row per Bigtable row.
Map<String, Map<String, List<Row>>> families = new HashMap<>();
for (Family fam : bigtableRow.getFamiliesList()) {
Map<String, List<Row>> columns = new HashMap<>();
for (Column col : fam.getColumnsList()) {

List<Cell> bigTableCells = col.getCellsList();

List<Row> cells = convertCells(bigTableCells);

columns.put(col.getQualifier().toStringUtf8(), cells);
}
families.put(fam.getName(), columns);
}
Row beamRow =
Row.withSchema(ROW_SCHEMA)
.withFieldValue("key", bigtableRow.getKey().toByteArray())
.withFieldValue("column_families", families)
.build();
out.output(beamRow);
} else {
// Flattening logic (new behavior): one output row per column qualifier.
byte[] key = bigtableRow.getKey().toByteArray();
for (Family fam : bigtableRow.getFamiliesList()) {
String familyName = fam.getName();
for (Column col : fam.getColumnsList()) {
ByteString qualifierName = col.getQualifier();
List<Row> cells = new ArrayList<>();
for (Cell cell : col.getCellsList()) {
Row cellRow =
Row.withSchema(CELL_SCHEMA)
.withFieldValue("value", cell.getValue().toByteArray())
.withFieldValue("timestamp_micros", cell.getTimestampMicros())
.build();
cells.add(cellRow);
}

Row flattenedRow =
Row.withSchema(FLATTENED_ROW_SCHEMA)
.withFieldValue("key", key)
.withFieldValue("family_name", familyName)
.withFieldValue("column_qualifier", qualifierName.toByteArray())
.withFieldValue("cells", cells)
.build();
cells.add(cellRow);
out.output(flattenedRow);
}
columns.put(col.getQualifier().toStringUtf8(), cells);
}
families.put(fam.getName(), columns);
}
Row beamRow =
Row.withSchema(ROW_SCHEMA)
.withFieldValue("key", ByteBuffer.wrap(bigtableRow.getKey().toByteArray()))
.withFieldValue("column_families", families)
.build();
return beamRow;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ public PCollectionRowTuple expand(PCollectionRowTuple input) {
validateField(inputSchema, "column_qualifier", Schema.TypeName.BYTES);
}
if (inputSchema.hasField("family_name")) {
validateField(inputSchema, "family_name", Schema.TypeName.BYTES);
validateField(inputSchema, "family_name", Schema.TypeName.STRING);
}
if (inputSchema.hasField("timestamp_micros")) {
validateField(inputSchema, "timestamp_micros", Schema.TypeName.INT64);
Expand All @@ -189,7 +189,7 @@ public PCollectionRowTuple expand(PCollectionRowTuple input) {
+ "\"type\": String\n"
+ "\"value\": ByteString\n"
+ "\"column_qualifier\": ByteString\n"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The type for qualifier is bytearray but here it's bytestring, is this accurate? Same for key and value

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you for that catch!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bump on this ^

+ "\"family_name\": ByteString\n"
+ "\"family_name\": String\n"
+ "\"timestamp_micros\": Long\n"
+ "\"start_timestamp_micros\": Long\n"
+ "\"end_timestamp_micros\": Long\n"
Expand Down Expand Up @@ -259,11 +259,10 @@ public PCollection<KV<ByteString, Iterable<Mutation>>> changeMutationInput(
Preconditions.checkStateNotNull(
input.getBytes("column_qualifier"),
"Encountered SetCell mutation with null 'column_qualifier' property. ")))
.setFamilyNameBytes(
ByteString.copyFrom(
Preconditions.checkStateNotNull(
input.getBytes("family_name"),
"Encountered SetCell mutation with null 'family_name' property.")));
.setFamilyName(
Preconditions.checkStateNotNull(
input.getString("family_name"),
"Encountered SetCell mutation with null 'family_name' property."));
// Use timestamp if provided, else default to -1 (current
// Bigtable
// server time)
Expand All @@ -284,11 +283,10 @@ public PCollection<KV<ByteString, Iterable<Mutation>>> changeMutationInput(
Preconditions.checkStateNotNull(
input.getBytes("column_qualifier"),
"Encountered DeleteFromColumn mutation with null 'column_qualifier' property.")))
.setFamilyNameBytes(
ByteString.copyFrom(
Preconditions.checkStateNotNull(
input.getBytes("family_name"),
"Encountered DeleteFromColumn mutation with null 'family_name' property.")));
.setFamilyName(
Preconditions.checkStateNotNull(
input.getString("family_name"),
"Encountered DeleteFromColumn mutation with null 'family_name' property."));

// if start or end timestamp provided
// Timestamp Range (optional, assuming Long type in Row schema)
Expand Down Expand Up @@ -322,11 +320,10 @@ public PCollection<KV<ByteString, Iterable<Mutation>>> changeMutationInput(
Mutation.newBuilder()
.setDeleteFromFamily(
Mutation.DeleteFromFamily.newBuilder()
.setFamilyNameBytes(
ByteString.copyFrom(
Preconditions.checkStateNotNull(
input.getBytes("family_name"),
"Encountered DeleteFromFamily mutation with null 'family_name' property.")))
.setFamilyName(
Preconditions.checkStateNotNull(
input.getString("family_name"),
"Encountered DeleteFromFamily mutation with null 'family_name' property."))
.build())
.build();
break;
Expand Down
Loading
Loading