我在结构化数据和下面的空白行之间有一些非结构化数据
[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
答案 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
提出一些建议,但这不是该标志的预期用途。