[
https://issues.apache.org/jira/browse/BEAM-1716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983049#comment-15983049
]
Daniel Halperin commented on BEAM-1716:
---------------------------------------
I do not believe directly using a Joda {{Instant}} in {{TableRow}} will work
either in Beam or in the older Dataflow SDK.
Beam uses BigQuery’s streaming insert / load job API, and {{BigQueryIO} just
takes whatever {{TableRow}} object the user provides and serializes it to JSON.
My understanding is that BigQuery does not support importing directly Joda
Instant — they expect some form of seconds since epoch or something like that.
Generally, your code looks good. A few tweaks might be relevant: Do you you
want {{/ 1000.0}}? Do you need to care about time zones?
> Using Instant type in TableRow should map to the right output format for
> TIMESTAMP in BigQuery
> ----------------------------------------------------------------------------------------------
>
> Key: BEAM-1716
> URL: https://issues.apache.org/jira/browse/BEAM-1716
> Project: Beam
> Issue Type: Bug
> Components: sdk-java-gcp
> Affects Versions: 0.5.0
> Reporter: Tobias Feldhaus
> Labels: newbie, starter
> Fix For: First stable release
>
>
> When using an Instant type in a TableRow, and a TIMESTAMP field in the
> TableFieldSchema, one has to convert the Instant via
> instant.getMillis() / 1000
> to match the BigQuery TIMESTAMP that is "A positive or negative decimal
> number. A positive number specifies the number of seconds since the epoch".
> In the Dataflow 1.9 SDK this conversion is done automatically.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)