You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Davor Bonaci (JIRA)" <ji...@apache.org> on 2017/05/03 17:10:04 UTC
[jira] [Updated] (BEAM-2122) Writing to partitioned BigQuery tables
from Dataflow is causing errors
[ https://issues.apache.org/jira/browse/BEAM-2122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davor Bonaci updated BEAM-2122:
-------------------------------
Fix Version/s: First stable release
> Writing to partitioned BigQuery tables from Dataflow is causing errors
> ----------------------------------------------------------------------
>
> Key: BEAM-2122
> URL: https://issues.apache.org/jira/browse/BEAM-2122
> Project: Beam
> Issue Type: Bug
> Components: sdk-java-gcp
> Environment: Running with Beam 0.7.0-SNAPSHOT version 48 for beam-sdks-java-io-google-cloud-platform, 49 for beam-sdks-java-core and beam-runners-google-cloud-dataflow-java in Eclipse using Dataflow service.
> Reporter: Matthias Baetens
> Assignee: Reuven Lax
> Fix For: First stable release
>
>
> Using the latest Beam SNAPSHOT which has a new BigQuery connector and trying to write to partitioned tables according to the docs (or this Stackoverflow question http://stackoverflow.com/questions/43505534/writing-different-values-to-different-bigquery-tables-in-apache-beam/43655461#43655461):
> static class PartitionedTableGeneration
> implements SerializableFunction<ValueInSingleWindow<TableRow>, TableDestination> {
> @ProcessElement
> public TableDestination apply(ValueInSingleWindow<TableRow> value) {
> // String dayString =
> // DateTimeFormat.forPattern("yyyy_MM_dd").withZone(DateTimeZone.UTC)
> String dayString = DateTimeFormat.forPattern("yyyyMMdd").withZone(DateTimeZone.UTC)
> .print(((IntervalWindow) value.getWindow()).start());
> TableDestination td = new TableDestination(
> "projecet:dataset.table + '$' dayString, "");
> return td;
> }
> }
> causes the following issues when running (depending on the specification of the dayString):
> 1. "Invalid table ID \"partitioned_sample$20150905\". Table IDs must be alphanumeric (plus underscores) and must be at most 1024 characters long. Also, Table decorators cannot be used.",
> 2. java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: java.lang.RuntimeException: Failed to create load job with id prefix
> ...
> "errorResult" : {
> "message" : "Invalid date partitioned table suffix: 2015_11_26",
> "reason" : "invalid"
> }
> Writing to sharded tables (without the '$'-sign) is working fine.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)