使用Beam将Avro写入BigQuery

时间:2018-06-08 05:38:25

标签: serialization google-cloud-platform google-bigquery avro apache-beam

Q1:假设我使用BigQuery加载工具加载Avro编码数据。现在我需要将这些数据写入仍然采用Avro格式的不同表格。我试图测试不同的分区,以测试表性能。如何使用Beam将SchemaAndRecord写回BigQuery?在这种情况下,模式检测也会工作吗?

Q2:从Avro架构类型转换为BigQuery架构类型时,看起来架构信息会丢失。例如,在BigQuery中,double和float Avro类型都转换为FLOAT类型。这是预期的吗?

1 个答案:

答案 0 :(得分:1)

Q1:如果表已经存在并且模式与您从中复制的模式匹配应该能够使用CREATE_NEVER CreateDisposition(https://cloud.google.com/dataflow/model/bigquery-io#writing-to-bigquery)并直接从readTableRows的输出中写入TableRows( )原始表。虽然我建议使用BigQuery的TableCopy命令。

Q2:预计,BigQuery没有Double类型。您可以在此处找到有关类型映射的更多信息:https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-avro#avro_conversions。此外,很快也会支持逻辑类型:https://issuetracker.google.com/issues/35905894