При загрузке данных CSV в таблицу больших запросов в веб-интерфейсе пользователя есть опция пропуска строки заголовка / python и др. c. Как пропустить строки csv-файла в BIGQUERY load API Но я не могу найти подобную опцию в Java клиентской библиотеке BigQuery. В настоящее время мой код, как показано ниже
public long writeFileToTable(String datasetName, String tableName, InputStream inStream, String location)
throws IOException, InterruptedException,TimeoutException {
// [START bigquery_load_from_file]
BigQuery bigquery =BigQueryOptions.getDefaultInstance().getService();
TableId tableId = TableId.of(datasetName, tableName);
WriteChannelConfiguration writeChannelConfiguration =
WriteChannelConfiguration.newBuilder(tableId)
.setFormatOptions(FormatOptions.csv())
.build();
// The location must be specified; other fields can be auto-detected.
JobId jobId = JobId.newBuilder().setLocation(location).build();
TableDataWriteChannel writer = bigquery.writer(jobId, writeChannelConfiguration);
// Write data to writer
try (OutputStream stream = Channels.newOutputStream(writer)) {
IOUtils.copy(inStream, stream);
}
// Get load job
Job job = writer.getJob();
job = job.waitFor();
LoadStatistics stats = job.getStatistics();
return stats.getOutputRows();
// [END bigquery_load_from_file]
}
Но это запись записи заголовка также в таблице. Я предполагал, что какой-то метод должен быть доступен в WriteChannelConfiguration для этого. Но не смог найти ни одного