You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在BigQuery中合并2022年1月-2023年5月多数据集指定列

BigQuery合并月度数据集并提取指定列的实现方案

前提说明

假设你的2022年1月至2023年5月的月度数据集存储在同一个BigQuery项目的源数据集下,表名遵循统一命名规则(例如ride_data_202201、ride_data_202202……ride_data_202305)。


方法一:手动UNION ALL(适合表数量不多的场景)

直接通过UNION ALL逐个提取各表的目标列,合并到新表中:

CREATE OR REPLACE TABLE `你的项目ID.目标数据集.combined_ride_data` AS
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202201`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202202`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202203`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202204`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202205`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202206`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202207`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202208`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202209`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202210`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202211`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202212`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202301`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202302`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202303`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202304`
UNION ALL
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_202305`;

方法二:通配符表批量处理(高效便捷)

如果表名有统一前缀,可利用BigQuery的通配符表功能,配合_TABLE_SUFFIX过滤目标时间范围的表:

CREATE OR REPLACE TABLE `你的项目ID.目标数据集.combined_ride_data` AS
SELECT rideable_type, started_at, member_casual
FROM `你的项目ID.源数据集.ride_data_*`
WHERE
  -- 根据表名后缀过滤2022年1月至2023年5月的表
  _TABLE_SUFFIX BETWEEN '202201' AND '202305';

注意事项

  • 替换代码中的你的项目ID、源数据集、目标数据集为你实际的项目和数据集名称
  • 确保所有源表的rideable_type、started_at、member_casual列数据类型一致,避免合并时出现类型不兼容错误
  • 若表名规则不同(例如2022_01_ride_data),需调整_TABLE_SUFFIX的过滤条件,比如改为_TABLE_SUFFIX BETWEEN '2022_01' AND '2023_05'

内容的提问来源于stack exchange,提问作者caskelle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 12:15:56