BigQuery 表架构类型在 apache beam 中未正确转换

问题描述 投票:0回答:1

当前用于 BigQuery 的 python Apache Beam SDK 中存在一个 bug,它将 BQ

TIMESTAMP
错误地转换为 BQ
DATETIME
。这似乎已被修复,但我有一种感觉,它可能是预发布版本,而不是最新的稳定版本(2.49.0)。

这出现在描述转换时输入/输出架构不匹配的错误中。此错误仅在使用存储写入 API 时发生。旧版流媒体 API 工作正常。

SDK 将

LOGICAL_TYPE<beam:logical_type:micros_instant:v1>
转换为
DATETIME
,而不是
TIMESTAMP
。我想知道在(相对)新的错误修复之前是否有人找到了解决方法?

python google-bigquery casting google-cloud-dataflow apache-beam
1个回答
0
投票

对于遇到相同问题的任何人,请在写入 BigQuery 之前添加此行

# imports
from apache_beam.typehints.schemas import LogicalType, MillisInstant

# logical type mapping
LogicalType.register_logical_type(MillisInstant)

Apache Beam 开发人员已经意识到这个问题,并正在努力寻找更永久的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.