function appendJoin12() {
var job = {
configuration: {
query: {
query: 'SELECT * FROM [projectId:datasetId.Join2_Test],
[projectId:datasetId.Join1_Test] ',
writeDisposition:'WRITE_APPEND',
destinationTable: {
projectId: 'projectId',
datasetId: 'datasetId',
tableId: 'tableId'
}
}
}
};
var queryResults = BigQuery.Jobs.insert(job, projectId);
Logger.log(queryResults.status);
}
这是文件Join1_Test
的内容ID Name
1 cat
2 dog
3 mouse
4 turtle
5 fish
这是文件Join2_Test
的内容ID Name
6 apple
7 orange
8 kiwi
9 banana
10 peach
这是我想要Join12的 RESULTING 文件的内容(这是tableID)
ID Name
1 cat
2 dog
3 mouse
4 turtle
5 fish
6 apple
7 orange
8 kiwi
9 banana
10 peach
上面的代码运行但没有返回任何内容,为什么以及如何解决这个问题。这用于谷歌表。
没有错误消息,目标表为空
代码使用标准大查询中的追加和写入选项,其中显示"显示选项"但这种方法的原因是使其自动化。
以上选择查询有效。
如果以上是正确的,我需要启用某些内容或更改某些设置。
答案 0 :(得分:0)
我不得不承认这个程序对我来说完全没问题,我无法复制这个问题。
insert是异步的。
此方法立即返回。你必须调用jobs.get()并检查 作业完成时要学习的工作状态。你包括一个和 作业资源中只有以下子属性之一。该 您包含的子属性定义了它的作业类型。
您可能遇到的是因为脚本是异步的,所以它会立即完成并且inser作业被删除但从未完全执行完成。 在记录结果并终止之前,您可能要等到功能完成
var jobId = queryResults.jobReference.jobId;
while (!queryResults.jobComplete) {
Utilities.sleep(1000);
queryResults = BigQuery.Jobs.getQueryResults(projectId, jobId);
}