Google cloud platform 在将csv文件加载到BigQuery时,在数据流中使用什么转换来合并具有不同列的csv文件?

Google cloud platform 在将csv文件加载到BigQuery时,在数据流中使用什么转换来合并具有不同列的csv文件?,google-cloud-platform,google-bigquery,google-cloud-dataflow,Google Cloud Platform,Google Bigquery,Google Cloud Dataflow,我有几个csv文件,我需要有一个单独的表。问题是这些文件有不同的列—大多数列都是相同的,只有1列或最多2列发生了更改。使用图形用户界面将它们从GCS加载到BigQuery中会给出错误的结果,或者完全失败。此外,每当缺少一个YEAR列时,我希望为整个文件手动提供一个值。 我们可以查看以下2个文件进行演示- file1.csv- file1.csv如果年份为2012,则缺失列的位置不必位于末尾- ITEM,TYPE,COLOR d,3,yellow e,2,orange f,1,cyan 将文件合

我有几个csv文件,我需要有一个单独的表。问题是这些文件有不同的列—大多数列都是相同的,只有1列或最多2列发生了更改。使用图形用户界面将它们从GCS加载到BigQuery中会给出错误的结果,或者完全失败。此外,每当缺少一个YEAR列时,我希望为整个文件手动提供一个值。 我们可以查看以下2个文件进行演示-

file1.csv-

file1.csv如果年份为2012,则缺失列的位置不必位于末尾-

ITEM,TYPE,COLOR
d,3,yellow
e,2,orange
f,1,cyan
将文件合并到单个BigQuery表中-

+------+------+--------+------+
| ITEM | TYPE | COLOR  | YEAR |
+------+------+--------+------+
| a    |    1 | red    | 2010 |
| b    |    2 | blue   | 2010 |
| c    |    3 | green  | 2010 |
| d    |    3 | yellow | 2012 |
| e    |    2 | orange | 2012 |
| f    |    1 | cyan   | 2012 |
+------+------+--------+------+
我想知道是否有可能最好使用ApacheBeam的Python SDK进行这样的转换?从GCS读取文件并在BigQuery中将其作为表加载时

使用SDK还是提供自定义模板文件以从Dataflow GUI显示的GCSA运行更好

欢迎提供任何相关资源。

请查看使用Dataflow python API从CSV文件摄取数据并将其写入BigQuery的指南

这里还有另一个从CSV文件中摄取数据并通过将源数据中的日期格式转换为BigQuery接受的日期格式来执行基本数据类型转换的方法

关于您的问题,使用SDK还是提供自定义模板文件以从Dataflow GUI显示的GCSA运行更好? 我相信这是个人喜好的问题,没有一个比另一个更好

话虽如此,请随时跟进这个包含谷歌提供的批处理模板

+------+------+--------+------+
| ITEM | TYPE | COLOR  | YEAR |
+------+------+--------+------+
| a    |    1 | red    | 2010 |
| b    |    2 | blue   | 2010 |
| c    |    3 | green  | 2010 |
| d    |    3 | yellow | 2012 |
| e    |    2 | orange | 2012 |
| f    |    1 | cyan   | 2012 |
+------+------+--------+------+