非开发环境下,如何通过BigQuery外部表查询Google Drive中的.xls文件?
实现Google Drive中.xls文件通过BigQuery外部表直接查询的方法
1. 先把.xls转成Google Sheets(关键步骤)
BigQuery不直接支持.xls格式的外部表,但可以无缝对接Google Sheets。操作很简单:
- 在Google Drive里找到你的.xls文件,右键选「打开方式」→「Google Sheets」,Google会自动生成一份对应的Sheets副本存在Drive里。
- 给这份Sheets设置好权限:确保你用来操作BigQuery的账号(或者BigQuery服务账号)有至少查看权限,不然BigQuery连不上。
2. 在BigQuery控制台创建外部表
不用写代码,全在控制台操作:
- 登录BigQuery,进入你要放表的数据集,点「创建表」。
- 数据源选「Google Drive」,粘贴刚才生成的Sheets的共享链接(链接要设成「任何人可查看」或者指定账号可看)。
- 文件格式选「Google Sheets」,然后填表名,架构可以选「自动检测」(BigQuery会自动识别字段类型),也能手动指定。
- 点「创建表」,等几秒就搞定了。
3. 直接查询外部表
外部表创建好后,和查普通BigQuery表完全一样,比如写个简单的查询:
SELECT * FROM `your-project-id.your-dataset-id.your-external-table-name`
非开发环境下,直接在BigQuery控制台、BI工具(比如Looker Studio)里用这个表就行,不用把文件导入BigQuery存储。
注意点
- 要是原.xls文件更新了,打开对应的Sheets时会弹出更新提示,手动点一下就能同步数据;如果需要自动同步,得用Apps Script,但非开发环境手动更新足够用。
- 权限一定要检查好,经常遇到的问题就是BigQuery账号没Drive的访问权限,导致表加载失败。
- 转换后注意核对数据格式,比如日期、带小数的数值,避免查询时出现类型错误。
内容的提问来源于stack exchange,提问作者Kairo Chee
相关产品推荐
相关产品推荐

