Это то, что я делаю для фильтрации / удаления / устранения столбцов в существующей таблице в интерфейсе BigQuery (UI). Тем не менее, я думаю, что это можно сделать автоматически с помощью скрипта python или другого языка программирования.
В любом случае, я хочу показать вам, как исключить эти столбцы, и я предоставляю запросы для создания таблицы без имени столбцов, которое вы не будете включать (отметьте столбец ctas_table_query ).
WITH
schema_table_columns AS (
SELECT
STRING_AGG(column_name, ", "
ORDER BY
ordinal_position ASC) AS columns_only,
STRING_AGG(CONCAT(' ', column_name), ", \n"
ORDER BY
ordinal_position ASC) AS columns_with_space,
CONCAT(table_schema, '.', table_name) AS schema_table_name
FROM
"put_your_project_id_here"."put_your_dataset_here".INFORMATION_SCHEMA.COLUMNS
WHERE
table_name="put_your_table_name_here"
AND column_name NOT LIKE '__put_your_condition_here'
AND is_hidden = 'NO'
GROUP BY
schema_table_name)
SELECT
concat ('CREATE OR REPLACE TABLE \n ',
RESULT.schema_table_name,
' AS \nSELECT \n',
RESULT.columns_with_space,
'\nFROM \n ',
RESULT.schema_table_name) AS ctas_table_query,
RESULT.columns_only
FROM
schema_table_columns AS RESULT