跳过CSV文件中的非结构化行到bigquery

时间:2019-05-08 10:41:08

标签: excel google-bigquery

我在结构化数据和下面的空白行之间有一些非结构化数据

[Date/Heure]
Date:   01-03-2019
Heure:  15:05:01

 14:32:41,(0,897041,A,S),1,148723,Passed,15.465,9.96
 14:32:54,(0,897042,A,A),1,148724,Passed,15.417,8.68
 14:36:50,(0,897043,A,A),1,148725,Passed,15.389,9.19

[Date/Heure]
Date:   01-03-2019
Heure:  14:32:41

我想跳过日期和小时的详细信息,仅将结构化数据加载到bigquery。我通过应用--skip_leading_rows=1成功跳过了标题行,但无法在bq命令行中跳过非结构化行。

这是我给出的将csv文件加载到bigquery的bq命令。

bq load --skip_leading_rows=1  --allow_quoted_newlines --field_delimiter=',' DEV.new_table  gs://nikhil-dev/20190503_Table_sup_payment_.csv

1 个答案:

答案 0 :(得分:0)

我同意Eric Keen的观点,最好的选择是清理输入文件。根据您的用例和数据量,如果您想使用云服务,则可以尝试使用Dataflow或Dataprep,甚至可以使用Cloud Function,但是可以使用简单的Linux grep,例如:

grep ',' input_file | tr -d ' ' > output_file

请注意,我还将删除每行开头的空格,但是您可以跳过tr -d命令。

使用--ignore_unknown_values--allow_jagged_rows可能会导致在BigQuery中插入“垃圾”行。您也许可以使用--max_bad_records提出一些建议,但这不是该标志的预期用途。