2016-10-04 2 views
0

Я пытаюсь исправить схему таблицы Bigquery, в которой тип поля неверен (но не содержит данных). Я хотел бы скопировать данные из старой схемы в новую с помощью пользовательского интерфейса (select * except(bad_column) from ...).Скопируйте таблицы из запроса в Bigquery

Проблема заключается в том, что:

  • , если выбрать в таблицу, а затем BigQuery удаляет необходимые столбцы и, следовательно, отказ от вставки.
  • Экспорт через json теряет информацию о датах.

Есть ли лучшее решение, чем создание новой таблицы со всеми столбцами, которые могут быть нулевыми/повторяемыми или вручную преобразовывать все данные?

+0

Возможно, вы видели это уже, но если нет, руководство по миграции для устаревшего стандартного SQL предлагает несколько способов обработки преобразование REQUIRED to NULLABLE: https://cloud.google.com/bigquery/sql-reference/migrating-from-legacy-sql#converting_required_fields_to_nullable. –

ответ

0

У вас есть несколько вариантов:

  1. изменить ваши типы полей в NULLABLE. Стандартный SQL возвращает только поля с нулевым значением, и это предполагаемое поведение, поэтому в будущем это может быть менее полезно для пометки полей по мере необходимости.

  2. Вы можете использовать устаревший SQL, который сохранит обязательные поля. Вы не можете использовать except, но вы можете явно выбрать все остальные поля.

  3. Вы можете экспортировать и повторно импортировать требуемую схему.

Вы упомянули, что экспорт через JSON теряет информацию о дате. Вы можете уточнить? Если вы ссылаетесь на дату раздела, то, к сожалению, я думаю, что любое из вышеперечисленных решений приведет к срыву всех данных в сегодняшний раздел, если вы явно не введете в именованный раздел, используя синтаксис table$yyyymmdd. (Что будет работать, но может потребоваться много операций, если у вас есть данные, распространяемые по многим датам.)

+0

Экспорт в json теряет точность по датам - формат является показателем с точностью до одной секунды. Существуют функции, позволяющие поддерживать precesion. – Chriseyre2000

+0

Экспорт данных будет становиться все более трудным, поскольку размер таблицы растет. – Chriseyre2000

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