Class BigQueryUtils
java.lang.Object
org.apache.beam.sdk.io.gcp.bigquery.BigQueryUtils
Utility methods for BigQuery related operations.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classOptions for how to convert BigQuery data to Beam data.static classOptions for how to convert BigQuery schemas to Beam schemas. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ObjectconvertAvroFormat(Schema.FieldType beamFieldType, Object avroValue, BigQueryUtils.ConversionOptions options) Tries to convert an Avro decoded value to a Beam field value based on the target type of the Beam field.static TableRowConvert generic record to Bq TableRow.static TableRowconvertGenericRecordToTableRow(GenericRecord record, TableSchema tableSchema) Deprecated.static TableSchemafromGenericAvroSchema(Schema schema) Convert an AvroSchemato a BigQueryTableSchema.static TableSchemafromGenericAvroSchema(Schema schema, Boolean useAvroLogicalTypes) Convert an AvroSchemato a BigQueryTableSchema.static SchemafromTableSchema(TableSchema tableSchema) Convert a BigQueryTableSchemato a BeamSchema.static SchemafromTableSchema(TableSchema tableSchema, BigQueryUtils.SchemaConversionOptions options) Convert a BigQueryTableSchemato a BeamSchema.static @Nullable org.apache.beam.runners.core.metrics.ServiceCallMetricreadCallMetric(@Nullable TableReference tableReference) static final org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO.TypedRead.FromBeamRowFunction<TableRow> static final org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO.TypedRead.ToBeamRowFunction<TableRow> static RowtoBeamRow(GenericRecord record, Schema schema, BigQueryUtils.ConversionOptions options) static Rowstatic RowtoBeamRow(Schema rowSchema, TableSchema bqSchema, TableRow jsonBqRow) Tries to parse the JSONTableRowfrom BigQuery.static SchematoGenericAvroSchema(TableSchema tableSchema) Convert a BigQueryTableSchemato AvroSchema.static SchematoGenericAvroSchema(TableSchema tableSchema, Boolean useAvroLogicalTypes) Convert a BigQueryTableSchemato AvroSchema.static SchematoGenericAvroSchema(String schemaName, List<TableFieldSchema> fieldSchemas) Convert a list of BigQueryTableFieldSchemato AvroSchema.static SchematoGenericAvroSchema(String schemaName, List<TableFieldSchema> fieldSchemas, Boolean useAvroLogicalTypes) Convert a list of BigQueryTableFieldSchemato AvroSchema.static @Nullable TableReferencetoTableReference(String fullTableId) static SerializableFunction<Row, TableRow> static <T> SerializableFunction<T, TableRow> toTableRow(SerializableFunction<T, Row> toRow) Convert a Beam schema type to a BigQueryTableRow.static TableRowtoTableRow(Row row) Convert a Beam Row to a BigQuery TableRow.static TableSchematoTableSchema(Schema schema) Convert a BeamSchemato a BigQueryTableSchema.toTableSpec(TableReference tableReference) static org.apache.beam.runners.core.metrics.ServiceCallMetricwriteCallMetric(TableReference tableReference)
-
Constructor Details
-
BigQueryUtils
public BigQueryUtils()
-
-
Method Details
-
toTableSchema
Convert a BeamSchemato a BigQueryTableSchema. -
fromTableSchema
Convert a BigQueryTableSchemato a BeamSchema. -
fromTableSchema
public static Schema fromTableSchema(TableSchema tableSchema, BigQueryUtils.SchemaConversionOptions options) Convert a BigQueryTableSchemato a BeamSchema. -
toGenericAvroSchema
Convert a BigQueryTableSchemato AvroSchema. -
fromGenericAvroSchema
Convert an AvroSchemato a BigQueryTableSchema. -
fromGenericAvroSchema
Convert an AvroSchemato a BigQueryTableSchema. -
toGenericAvroSchema
Convert a BigQueryTableSchemato AvroSchema. -
toGenericAvroSchema
Convert a list of BigQueryTableFieldSchemato AvroSchema. -
toGenericAvroSchema
public static Schema toGenericAvroSchema(String schemaName, List<TableFieldSchema> fieldSchemas, Boolean useAvroLogicalTypes) Convert a list of BigQueryTableFieldSchemato AvroSchema. -
tableRowToBeamRow
public static final org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO.TypedRead.ToBeamRowFunction<TableRow> tableRowToBeamRow() -
tableRowFromBeamRow
public static final org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO.TypedRead.FromBeamRowFunction<TableRow> tableRowFromBeamRow() -
toTableRow
-
toTableRow
Convert a Beam schema type to a BigQueryTableRow. -
toBeamRow
public static Row toBeamRow(GenericRecord record, Schema schema, BigQueryUtils.ConversionOptions options) -
convertGenericRecordToTableRow
@Deprecated public static TableRow convertGenericRecordToTableRow(GenericRecord record, TableSchema tableSchema) Deprecated.Convert generic record to Bq TableRow. -
convertGenericRecordToTableRow
Convert generic record to Bq TableRow. -
toTableRow
Convert a Beam Row to a BigQuery TableRow. -
toBeamRow
-
toBeamRow
Tries to parse the JSONTableRowfrom BigQuery.Only supports basic types and arrays. Doesn't support date types.
-
convertAvroFormat
public static Object convertAvroFormat(Schema.FieldType beamFieldType, Object avroValue, BigQueryUtils.ConversionOptions options) Tries to convert an Avro decoded value to a Beam field value based on the target type of the Beam field.For the Avro formats of BigQuery types, see https://cloud.google.com/bigquery/docs/exporting-data#avro_export_details and https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#avro_conversions
-
toTableReference
- Parameters:
fullTableId- - Is one of the two forms commonly used to refer to bigquery tables in the beam codebase:- projects/{project_id}/datasets/{dataset_id}/tables/{table_id}
- myproject:mydataset.mytable
- myproject.mydataset.mytable
- Returns:
- a BigQueryTableIdentifier by parsing the fullTableId. If it cannot be parsed properly null is returned.
-
toTableSpec
- Parameters:
tableReference- - a BigQueryTableIdentifier that may or may not include the project.- Returns:
- a String representation of the table destination in the form: `myproject.mydataset.mytable`
-
readCallMetric
public static @Nullable org.apache.beam.runners.core.metrics.ServiceCallMetric readCallMetric(@Nullable TableReference tableReference) - Parameters:
tableReference- - The table being read from. Can be a temporary BQ table used to read from a SQL query.- Returns:
- a ServiceCallMetric for recording statuses for all BQ API responses related to reading elements directly from BigQuery in a process-wide metric. Such as: calls to readRows, splitReadStream, createReadSession.
-
writeCallMetric
public static org.apache.beam.runners.core.metrics.ServiceCallMetric writeCallMetric(TableReference tableReference) - Parameters:
tableReference- - The table being written to.- Returns:
- a ServiceCallMetric for recording statuses for all BQ responses related to writing elements directly to BigQuery in a process-wide metric. Such as: insertAll.
-
convertGenericRecordToTableRow(GenericRecord)