[
https://issues.apache.org/jira/browse/BEAM-5191?focusedWorklogId=278951&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-278951
]
ASF GitHub Bot logged work on BEAM-5191:
----------------------------------------
Author: ASF GitHub Bot
Created on: 18/Jul/19 12:31
Start Date: 18/Jul/19 12:31
Worklog Time Spent: 10m
Work Description: jklukas commented on pull request #8945: [BEAM-5191]
Support for BigQuery clustering
URL: https://github.com/apache/beam/pull/8945#discussion_r304889567
##########
File path:
sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/WriteTables.java
##########
@@ -165,6 +166,16 @@ public void processElement(ProcessContext c,
BoundedWindow window) throws Except
+ "but %s returned null for destination %s",
dynamicDestinations,
destination);
+ boolean destinationCoderSupportsClustering =
+ !(dynamicDestinations.getDestinationCoder() instanceof
TableDestinationCoderV2);
+ checkArgument(
+ tableDestination.getClustering() == null ||
destinationCoderSupportsClustering,
+ "DynamicDestinations.getTable() may only return destinations with
clustering configured"
+ + " if a destination coder is supplied that supports clustering,
but %s is configured"
+ + " to use TableDestinationCoderV2. Set withClustering() on
BigQueryIO.write() and, "
+ + " if you provided a custom DynamicDestinations instance,
override"
+ + " getDestinationCoder() to return TableDestinationCoderV3.",
+ dynamicDestinations);
Review comment:
This check will cause a runtime failure for BatchLoads if a clustered
destination is produced without the relevant configuration to use the newer
destination coder.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 278951)
Time Spent: 14h (was: 13h 50m)
> Add support for writing to BigQuery clustered tables
> ----------------------------------------------------
>
> Key: BEAM-5191
> URL: https://issues.apache.org/jira/browse/BEAM-5191
> Project: Beam
> Issue Type: Improvement
> Components: io-java-gcp
> Affects Versions: 2.6.0
> Reporter: Robert Sahlin
> Assignee: Wout Scheepers
> Priority: Minor
> Labels: features, newbie
> Time Spent: 14h
> Remaining Estimate: 0h
>
> Google recently added support for clustered tables in BigQuery. It would be
> useful to set clustering columns the same way as for partitioning. It should
> support multiple fields (4) for clustering.
> For example:
> [BigQueryIO.Write|https://beam.apache.org/documentation/sdks/javadoc/2.6.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.Write.html]<[T|https://beam.apache.org/documentation/sdks/javadoc/2.6.0/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.Write.html]>
> .withClustering(new Clustering().setField("productId").setType("STRING"))
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)