пропустить неструктурированные строки в CSV-файле в BigQuery - PullRequest
0 голосов
/ 08 мая 2019

у меня есть некоторые неструктурированные данные между структурированными данными вместе с пустыми строками, как показано ниже

[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.i удалось пропустить заголовокстрока, применяя - -skip_leading_rows=1, но не может пропустить неструктурированные строки в командной строке bq.

Вот команда bq, которую я дал для загрузки CSV-файла в bigquery.

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

1 Ответ

0 голосов
/ 08 мая 2019

Я согласен с Эриком Кином , что лучший выбор - очистить входные файлы. В зависимости от вашего варианта использования и объема данных, вы можете попробовать Dataflow или Dataprep, даже облачную функцию, если вы хотите использовать облачные сервисы, но простой Linux grep может выполнить эту работу, например:

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

Примечание. Я также удаляю пробел в начале каждой строки, но вы можете пропустить команду tr -d.

Использование --ignore_unknown_values или --allow_jagged_rows может привести к вставке «мусорных» строк в BigQuery. Возможно, вам удастся придумать что-нибудь, используя --max_bad_records, но это не предполагаемое использование этого флага.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...