private PendingJobData startWriteRename(
TableDestination finalTableDestination, Iterable<String> tempTableNames, ProcessContext c)
throws Exception {
WriteDisposition writeDisposition =
(c.pane().getIndex() == 0) ? firstPaneWriteDisposition : WriteDisposition.WRITE_APPEND;
CreateDisposition createDisposition =
(c.pane().getIndex() == 0) ? firstPaneCreateDisposition : CreateDisposition.CREATE_NEVER;
List<TableReference> tempTables =
StreamSupport.stream(tempTableNames.spliterator(), false)
.map(table -> BigQueryHelpers.fromJsonString(table, TableReference.class))
.collect(Collectors.toList());
;
String jobIdPrefix =
BigQueryHelpers.createJobId(
c.sideInput(jobIdToken), finalTableDestination, -1, c.pane().getIndex());
BigQueryHelpers.PendingJob retryJob =
startCopy(
bqServices.getJobService(c.getPipelineOptions().as(BigQueryOptions.class)),
bqServices.getDatasetService(c.getPipelineOptions().as(BigQueryOptions.class)),
jobIdPrefix,
finalTableDestination.getTableReference(),
tempTables,
writeDisposition,
createDisposition);
return new PendingJobData(retryJob, finalTableDestination, tempTables);
}