提问者:小点点

将存储在带有多字符分隔符的google云存储上的数据加载到BigQuery


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

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

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


共2个答案

匿名用户

从Dataflow的角度来看,您可以通过在每个管道中上传多个文件来简化此操作。您可以在组装管道时在main方法中有一个for循环,本质上有许多Read-

另请参阅从本地磁盘将数据加载到BigQuery和Google云存储的策略以获取更多信息。

匿名用户

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

然后,您可以在BigQuery中使用JSUDF进行解析。