[
https://issues.apache.org/jira/browse/BEAM-5510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16865187#comment-16865187
]
Steven Ensslen commented on BEAM-5510:
--------------------------------------
Workaround is now
{color:#569cd6}class{color}
{color:#4ec9b0}ConvertNonStringsToStringsFn{color}{color:#d4d4d4}({color}{color:#4ec9b0}beam{color}{color:#d4d4d4}.{color}{color:#4ec9b0}DoFn{color}{color:#d4d4d4}):{color}
{color:#ce9178}"""{color}
{color:#ce9178} Workaround for
https://issues.apache.org/jira/browse/BEAM-5510{color}
{color:#ce9178} """{color}
{color:#569cd6}def{color}
{color:#dcdcaa}process{color}{color:#d4d4d4}({color}{color:#9cdcfe}self{color}{color:#d4d4d4},
{color}{color:#9cdcfe}record{color}{color:#d4d4d4}):{color}
{color:#c586c0}for{color}{color:#d4d4d4} key
{color}{color:#569cd6}in{color}{color:#d4d4d4} record:{color}
{color:#c586c0}try{color}{color:#d4d4d4}:{color}
{color:#c586c0}if{color}{color:#d4d4d4}
({color}{color:#4ec9b0}type{color}{color:#d4d4d4}(record[key])
{color}{color:#d4d4d4}=={color}{color:#d4d4d4} date):{color}
{color:#d4d4d4} record[key] {color}{color:#d4d4d4}={color}{color:#d4d4d4}
record[key].strftime({color}{color:#ce9178}'%Y-%m-{color}{color:#569cd6}%d{color}{color:#ce9178}'{color}{color:#d4d4d4}){color}
{color:#c586c0}elif{color}{color:#d4d4d4}
({color}{color:#4ec9b0}type{color}{color:#d4d4d4}(record[key])
{color}{color:#d4d4d4}=={color}{color:#d4d4d4} time):{color}
{color:#d4d4d4} record[key] {color}{color:#d4d4d4}={color}{color:#d4d4d4}
record[key].strftime({color}{color:#ce9178}'%H:%M:%S'{color}{color:#d4d4d4}){color}
{color:#c586c0}elif{color}
{color:#dcdcaa}hasattr{color}{color:#d4d4d4}(record[key],
{color}{color:#ce9178}"strftime"{color}{color:#d4d4d4}):{color}
{color:#d4d4d4} record[key] {color}{color:#d4d4d4}={color}{color:#d4d4d4}
record[key].strftime(DATE_FORMAT){color}
{color:#c586c0}elif{color}{color:#d4d4d4}
({color}{color:#4ec9b0}type{color}{color:#d4d4d4}(record[key])
{color}{color:#d4d4d4}!={color}
{color:#4ec9b0}str{color}{color:#d4d4d4}):{color}
{color:#d4d4d4} record[key] {color}{color:#d4d4d4}={color}
{color:#4ec9b0}str{color}{color:#d4d4d4}(record[key]){color}
{color:#c586c0}except{color} {color:#4ec9b0}ValueError{color}
{color:#c586c0}as{color}{color:#d4d4d4} e:{color}
{color:#d4d4d4} logging.error({color}{color:#ce9178}"failed to convert
'{color}{color:#569cd6}{d}{color}{color:#ce9178}', error
{color}{color:#569cd6}{e}{color}{color:#ce9178}"{color}{color:#d4d4d4}.format({color}{color:#9cdcfe}d{color}{color:#d4d4d4}={color}{color:#d4d4d4}record[key],{color}{color:#9cdcfe}e{color}{color:#d4d4d4}={color}{color:#d4d4d4}e)){color}
{color:#d4d4d4} record[key] {color}{color:#d4d4d4}={color}
{color:#4ec9b0}str{color}{color:#d4d4d4}(record[key]){color}
{color:#c586c0}yield{color}{color:#d4d4d4} record{color}
> Records including datetime to be saved as DATETIME or TIMESTAMP in BigQuery
> ---------------------------------------------------------------------------
>
> Key: BEAM-5510
> URL: https://issues.apache.org/jira/browse/BEAM-5510
> Project: Beam
> Issue Type: Bug
> Components: sdk-py-core
> Affects Versions: 2.6.0
> Reporter: Pascal Gula
> Priority: Major
>
> When trying to write some row in BigQuery that include a python datetime
> object, the marshaling used to save a row in BigQuery is impossible.
> {code:java}
> File
> "/home/pascal/Wks/GitHub/PEAT-AI/Albatros/venv/local/lib/python2.7/site-packages/apache_beam/internal/gcp/json_value.py",
> line 124, in to_json_value
> raise TypeError('Cannot convert %s to a JSON value.' % repr(obj))
> TypeError: Cannot convert datetime.datetime(2018, 9, 25, 18, 57, 18, 108579)
> to a JSON value. [while running 'save/WriteToBigQuery']
> {code}
> However, this is something perfectly feasible, as `google-cloud-python`
> supports it since this issue has been solved:
> [https://github.com/GoogleCloudPlatform/google-cloud-python/issues/2957]
> thanks to this pull request:
> [https://github.com/GoogleCloudPlatform/google-cloud-python/pull/3426/files]
> As similar approach could be taken for the `json_value.py` helper.
> Is there any workaround that can be applied to solve this issue?
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)