【问题标题】:How to Join two tables in App Script and fetch the data into big query existing table如何在 App Script 中加入两个表并将数据提取到大查询现有表中
【发布时间】: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);
}

我尝试了上面的代码,但没有成功。如果可能的话,任何人都可以帮我解决这个问题或有任何想法吗? 谢谢

【问题讨论】:

    标签: sql google-apps-script google-bigquery


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-29
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多