如何在 App Script 中加入两个表并将数据提取到大查询现有表中
Posted
技术标签:
【中文标题】如何在 App Script 中加入两个表并将数据提取到大查询现有表中【英文标题】:How to Join two tables in App Script and fetch the data into big query existing table 【发布时间】:2016-09-14 00:01:48 【问题描述】:他们是一种简单的方法,可以使用谷歌应用脚本在谷歌大查询中加入两个表,并将结果保存在谷歌大查询同一项目文件夹中的现有表中。
function saveQueryToTable1()
var projectId = 'instagram-1314';
var datasetId = 'Divya_Test';
var tableId = 'Join';
var job =
configuration:
query:
query: '((SELECT * FROM [instagram-1314:Divya_Test.Join1_Test]) UNION (SELECT * FROM [instagram-1314:Divya_Test.Join2_Test]))' ,
destinationTable:
projectId: projectId,
datasetId: datasetId,
tableId: tableId
;
var queryResults = BigQuery.Jobs.insert(job, projectId);
Logger.log(queryResults.status);
我尝试了上面的代码,但没有成功。如果可能的话,任何人都可以帮我解决这个问题或有任何想法吗? 谢谢
【问题讨论】:
【参考方案1】:在 BigQuery Legacy SQL(您在示例中使用)中没有 UNION 关键字 - 您应该为此使用逗号,如下例所示
((SELECT * FROM [instagram-1314:Divya_Test.Join1_Test], [instagram-1314:Divya_Test.Join2_Test]))
更多详情请见FROM clause
上述方法将花费您两次扫描(两个表),每 TB 5 美元。如果你有小桌子,你很可能不用担心
如果您的表很大,但具有相同的架构(就像示例中的那样) - 您可以考虑使用复制与查询。复制是免费的。
查看Jobs: insert 的更多信息,您可以在其中使用configuration.copy 而不是您现在在示例中使用的configuration.query
【讨论】:
以上是关于如何在 App Script 中加入两个表并将数据提取到大查询现有表中的主要内容,如果未能解决你的问题,请参考以下文章
如何在 mvc 3.0 EF 5 中加入两个模型并在视图中显示它们