如何在 BigQuery Java 客户端加载作业中将“忽略未知值”选项设置为“true”



我有一个Java程序,它使用BigQuery Java客户端库将JSON数据从Google云存储导入BigQuery。我正在使用Table.load()方法来启动加载作业。如何将ignoreUnknownValues选项设置为true此加载作业?

好的,这就是你是如何做到的。

val jobConf = LoadJobConfiguration
  .newBuilder(table.getTableId, path)
  .setIgnoreUnknownValues(true)
  .setFormatOptions(FormatOptions.json())
  .build()
val loadJob = bigQuery.create(JobInfo.newBuilder(jobConf).build())

你可以看看这个文档

我认为你不能用"load"来使用这个标志,因为BigQuery.JobOption中没有"ignoreUnknownValues"这个标志:

public Job load(FormatOptions format,
            String sourceUri,
            BigQuery.JobOption... options)
     throws BigQueryException

但是您可以尝试"插入"选项而不是"加载":

public InsertAllResponse insert(Iterable<InsertAllRequest.RowToInsert> rows,
                            boolean skipInvalidRows,
                            boolean ignoreUnknownValues)
                     throws BigQueryException

所以:

response = table.insert(rows, true, true);

最新更新