使用谷歌应用脚本在谷歌大查询中加入两个表格是一种简单的方法,并将结果保存在谷歌大查询的同一项目文件夹中的现有表格中。
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);
}
我尝试了上面的代码,但它没有用。任何人都可以帮我解决这个问题,或者有任何想法,如果可能的话? 谢谢
答案 0 :(得分:0)
在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,而不是现在的示例