将存储在Google云端存储上的数据加载到BigQuery的多字符分隔符

时间:2016-08-11 07:13:48

标签: google-bigquery google-cloud-storage google-cloud-platform google-cloud-dataflow

我想将带有多个字符分隔符的数据加载到BigQuery。 BQ load命令目前不支持多个字符分隔符。它仅支持单个字符分隔符,如' |',' $','〜'等

我知道有一种数据流方法,它将从这些文件中读取数据并写入BigQuery。但是我有大量的小文件(每个400MB的文件)必须写一个表的单独分区(分区编号大约700)。这种方法在数据流方面很慢,因为我必须使用for循环启动不同的数据流作业,以便将每个文件写入单独的表。这种方法运行超过24小时仍未完成。

那么还有其他方法可以将这些具有多个字符分隔符的多个文件加载到BigQuery的每个分区吗?

2 个答案:

答案 0 :(得分:1)

从Dataflow的角度来看,您可以通过在每个管道中上传多个文件来简化这一过程。在组装管道时,您可以在main方法中使用for循环,基本上有许多Read -> Write to BigQuery步骤。

有关详细信息,另请参阅Strategy for loading data into BigQuery and Google cloud Storage from local disk

答案 1 :(得分:0)

我对这些问题的懒惰方法:不要在Dataflow中解析,只需将每行原始发送到BigQuery(每行一列)。

然后你可以用JS UDF解析BigQuery内部。