2012-11-07 4 views
1

Я пытаюсь импортировать файл JSON в таблицу BigQuery Google, используя веб-интерфейс BigQuery.Импорт файла JSON в таблицу BigQuery Google

Когда я определяю схему JSON, она не может импортироваться, потому что некоторые имена полей json содержат дефисы - отчеты пользовательского интерфейса и ошибка, указывающая, что поле является недопустимым.

Например:

{ 
    "first-name": "Bob", 
    "last-name": "Smith" 
} 

У меня есть огромное количество данных, которые уже в этом формате, так что переименование поля не совсем вариант. Есть идеи?

ответ

2

В настоящее время BigQuery поддерживает только имена полей в следующих format: прописные и/или строчные буквы (A-Z, a-z), цифры (0-9) и символы подчеркивания (но не пробелы или другие символы).

+0

Было бы здорово, если бы поддержка могла быть добавлена. Сейчас мне придется откладывать его использование! Спасибо – seedhead

+0

Я согласен, что менять ключи больших объектов JSON не является тривиальным. Однако даже с большими файлами использование sed для замены строковых значений может быть довольно эффективным. Вы также можете прочитать JSON через Python и выписать новые ключи рекурсивно, используя следующую стратегию: http://stackoverflow.com/a/11700817/336505 –

+2

Просто хотел добавить техническую причину этого ограничения - когда запрос анализируется, мы не можем определить разницу между полем с именем «first-name» и выражением, вычитающим «имя» из «first». Из-за этого мы вряд ли изменим ограничения имен. –

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