Java BQ加载具有不同模式的Avro文件,仅添加字段
上下文: 我们有一个数据流作业,该作业使用每周更改的模式(仅限字段添加)将Avro文件写入GCS。这意味着,在一个GCS前缀下,我们有一堆具有不同模式的Avro文件,在任何给定时间最有可能有两个模式。有关更多详细信息,请参阅文章中的上下文部分 问题: 根据,当将具有多个模式的Avro文件加载到BigQuery中时,BigQuery将选择字典顺序最大的文件。然而,这不是我观察到的行为。我观察到不一致的行为 在我的第一次尝试中,我选择了新的模式,新的字段就在那里。然而,BQ负载本身花费的时间比它应该花费的时间要长得多。加载368594条记录花了7分钟 在我的第二次尝试中,字典顺序较大的文件正在使用新的模式,我能够打开Avro文件并在标题中看到新字段。但是当我将这些文件加载到表中时,添加的字段丢失了。但是,如果我单独加载顺序最大的文件,表将有新字段 我们有一个自定义文件命名策略,即: “shardNum UUID.avro的chunk-$windowStart-$windowEnd shardIndex” 问题:Java BQ加载具有不同模式的Avro文件,仅添加字段,java,google-bigquery,google-cloud-dataflow,avro,apache-beam,Java,Google Bigquery,Google Cloud Dataflow,Avro,Apache Beam,上下文: 我们有一个数据流作业,该作业使用每周更改的模式(仅限字段添加)将Avro文件写入GCS。这意味着,在一个GCS前缀下,我们有一堆具有不同模式的Avro文件,在任何给定时间最有可能有两个模式。有关更多详细信息,请参阅文章中的上下文部分 问题: 根据,当将具有多个模式的Avro文件加载到BigQuery中时,BigQuery将选择字典顺序最大的文件。然而,这不是我观察到的行为。我观察到不一致的行为 在我的第一次尝试中,我选择了新的模式,新的字段就在那里。然而,BQ负载本身花费的时间比它应该
谷歌云支持这里