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

如何使用BigQuery SQL代码上传CSV文件至BigQuery

用BigQuery SQL加载本地CSV文件的操作步骤

注意:纯BigQuery SQL无法直接读取本地文件,必须先把本地CSV上传到Google Cloud Storage(GCS),再通过SQL语句将数据加载到BigQuery表中。以下是具体操作流程:

步骤1:将本地CSV上传至GCS

使用bq命令行工具或gsutil完成上传,示例命令:

# 用bq工具上传
bq load --source_format=CSV --skip_leading_rows=1 gs://你的存储桶名/目标路径/文件名.csv

# 用gsutil工具更直接
gsutil cp /本地文件路径/你的文件.csv gs://你的存储桶名/目标路径/
  • 替换/本地文件路径/你的文件.csv为本地CSV的实际路径
  • 替换gs://你的存储桶名/目标路径/为你的GCS存储桶及文件存放路径
  • 确保已安装并配置好bq/gsutil工具(完成GCP账号认证)

步骤2:用BigQuery SQL加载GCS中的CSV到表

方式1:创建新表并加载数据

CREATE OR REPLACE TABLE `你的项目ID.你的数据集.目标表名`
OPTIONS(
  description="从GCS CSV加载的表"
)
AS SELECT * FROM EXTERNAL_QUERY(
  "projects/你的项目ID/locations/你的区域/connections/你的连接名",
  "SELECT * FROM EXTERNAL_STORAGE('gs://你的存储桶名/目标路径/文件名.csv') WITH (FORMAT = 'CSV', SKIP_ROWS = 1)"
);

方式2:使用LOAD DATA语句(更常用)

LOAD DATA INTO `你的项目ID.你的数据集.目标表名`
FROM FILES (
  format = 'CSV',
  uris = ['gs://你的存储桶名/目标路径/文件名.csv'],
  skip_leading_rows = 1
);
  • 替换你的项目ID、你的数据集、目标表名为实际的项目、数据集和表名称
  • skip_leading_rows根据CSV是否有表头设置(有表头设为1,无则设为0)
  • 若需指定列类型,可在LOAD DATA中添加Schema定义,示例:
LOAD DATA INTO `你的项目ID.你的数据集.目标表名` (
  id INT64,
  username STRING,
  register_date DATE
)
FROM FILES (
  format = 'CSV',
  uris = ['gs://你的存储桶名/目标路径/文件名.csv'],
  skip_leading_rows = 1
);

关键注意事项

  • 确保GCS存储桶权限正确:BigQuery服务账号需要拥有存储桶的storage.objects.get权限
  • 若CSV使用非默认分隔符(如竖线|),需在FILES参数中添加field_delimiter = '|'配置
  • 若CSV包含特殊格式或嵌套字段,需额外指定对应的解析参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:40:21