Serialization 使用Beam将Avro写入BigQuery

Serialization 使用Beam将Avro写入BigQuery,serialization,google-cloud-platform,google-bigquery,avro,apache-beam,Serialization,Google Cloud Platform,Google Bigquery,Avro,Apache Beam,Q1:假设我使用BigQuery加载工具加载Avro编码的数据。现在我需要以Avro格式将这些数据写入不同的表中。为了测试表的性能,我尝试测试不同的分区。如何使用Beam将SchemaAndRecord写回BigQuery?在这种情况下,模式检测也会起作用吗 问题2:从Avro架构类型转换为BigQuery架构类型时,架构信息似乎丢失。例如,在BigQuery中,double和float Avro类型都转换为float类型。这是预期的吗 Q1:如果表已经存在,并且架构与您要从中复制的模式匹配,那

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


问题2:从Avro架构类型转换为BigQuery架构类型时,架构信息似乎丢失。例如,在BigQuery中,double和float Avro类型都转换为float类型。这是预期的吗

Q1:如果表已经存在,并且架构与您要从中复制的模式匹配,那么您应该能够使用CREATE\u NEVER CreateDisposition()并直接从原始表的readTableRows()输出写入TableRows。尽管我建议改用BigQuery的TableCopy命令


问题2:这是意料之中的,BigQuery没有双精度类型。您可以在此处找到有关类型映射的详细信息:。逻辑类型也将很快得到支持:。

还有一个简单的问题,可以通过Beam在写入时定义表的分区吗?最好能够使用适当的选项动态创建表以应用分区。您可以找到有关写入分区表和的更多信息。这两个示例都使用TableDestination并提供适当的时间戳来指示分区。