Как я могу игнорировать '|'разделитель трубы, считывающий данные Google Sheet в Google BigQuery? - PullRequest
0 голосов
/ 06 декабря 2018

Я использую Google Sheets в качестве хранилищ данных, заполненных Supermetrics.Мне нужно прочитать их в Google BigQuery, чтобы объединить несколько источников и манипулировать данными с помощью SQL.

Когда я вытягиваю свои полевые поля, некоторые из которых содержат символ трубы '|'BQ автоматически разграничивает эти заполненные поля неверными данными и приводит к сбою запросов.

Есть ли способ подключиться к Google Sheets и сказать BQ игнорировать символы канала?

с примером поля:

test~wm~helo_thisisafield_bn~thisisanotherfieldbm|H4|Hello

BQ читает это как три поля:

test~wm~helo_thisisafield_bn~thisisanotherfieldbm, H4, Hello

, которое не соответствует набору схемы.Я не могу объяснить это в схеме как количество и наличие |не исправлено

Есть ли способ, которым я могу игнорировать это?Я могу установить разделитель, извлекающий данные из CSV, но не из Google Sheets afaict.

Пока единственное решение, которое мне удалось, - это прочитать всю электронную таблицу в одном поле и разбить на SQL, что не идеально.

1 Ответ

0 голосов
/ 07 декабря 2018

При создании таблицы в BigQuery, после выбора Google Диск для местоположения и указания URL-адреса листа Google, вместо выбора Google Sheet в формате файла, выберите CSV.

После этого у вас будет возможностьуказывать разделитель вниз в параметрах создания.Выберите запятую, как ни странно, это работает для меня, хотя файл Google Sheet.

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