Что я хочу сделать, должно быть простым: учитывая схему BigQuery, я хочу выделить все таблицы (включая вложенные), кроме нескольких. Трудность в том, что BigQuery имеет вложенную структуру, а некоторые из которых я хочу исключить, вложены в другие записи.BigQuery select * except inested column
Я нашел предложение SELECT * except в BigQuery documentation, которое кажется очень перспективным. Проблема в том, что она, похоже, не поддерживает исключение вложенной структуры.
Например, с помощью открытого github_nested набора данных мы можем написать запрос как
#standardSQL
SELECT * except (payload) FROM `bigquery-public-data.samples.github_nested` LIMIT 1000
Это делает то, что мы успешно ожидать, удалив запись полезной нагрузки из результатов. Представим себе теперь, что мы хотим только удалить payload.comment, тем самым сохраняя остальную часть содержимого полезной нагрузки в ответе. Я пробовал
#standardSQL
SELECT * except (payload.comment) FROM `bigquery-public-data.samples.github_nested` LIMIT 1000
Однако это не удается.
Кто-нибудь знает, как это сделать?
Спасибо!
Спасибо, Эллиот. Это действительно решает проблему, изложенную выше. К сожалению, я был страшным вопросом для плаката и понял, что мое дело было немного сложнее с повторным полем (чего нет в примере). Я добавлю обновление к вопросу. Опять же, извинения! – Spikey
Если это отвечает на исходный вопрос, не возражаете ли вы отметить его как принятый? Не стесняйтесь публиковать еще один вариант вопроса, связанный с повторяющимися полями. Благодаря! –
Если это соглашение, используемое для stackoverflow, обязательно. Спасибо вам за помощь! – Spikey