2013-08-08 3 views
1

Когда я пытаюсь загрузить несжатый json-файл, он отлично работает; но когда я пытаюсь использовать gzipped версию того же json-файла, работа завершится неудачей с лексической ошибкой, возникшей в результате неспособности проанализировать содержимое json.Как загрузить gzipped json-файл в bigquery через HTTP API?

Я gzipped json-файл с помощью команды gzip из Mac OSX 10.8, и я установил sourceFormat в значение: "NEWLINE_DELIMITED_JSON".

Я сделал что-то неправильно или gzipped json-файл должен обрабатываться по-разному?

+0

Как вы загружаете сжатый файл? Вы используете многопрофильный запрос mime или используете возобновляемую загрузку? Вы используете клиентскую библиотеку Java/Python? У вас есть идентификатор задания неудачной загрузки? –

+0

Я загружаю файл, используя множественный/связанный HTTP-запрос, а не возобновляемый. Сжатый файл выходит из строя, но обычные старые JSON работают – DaHoopster

ответ

1

Я считаю, что использование/запрос, связанный многосекционный это не представляется возможным отправьте двоичные данные (например, сжатый файл. Однако, если вы не хотите использовать несжатые данные, вы можете использовать возобновляемую загрузку.

На каких языках вы кодируете? Python jobs.insert() api принимает параметр массовой загрузки, который вы должны filename для повторной загрузки (которая отправляет метаданные задания и новые данные таблицы как отдельные потоки). Я смог использовать это для загрузки сжатого файла.

Это то, что использует bq.py, поэтому вы можете посмотреть исходный код here.

Если вы не используете python, клиентские библиотеки googleapis для других языков должны иметь схожие функции.

+0

Я пишу в nodejs. Я вообще не смог найти какие-либо конкретные примеры в nodejs, что я использую API HTTP. Можете ли вы указать мне пример клиентской библиотеки nodejs на bigquery? – DaHoopster

Смежные вопросы