Вопрос

Я хочу загрузить данные из Google Cloud Storage для BigQuery, но я не могу найти какой-либо код образца Java, описывающий, как это сделать.Будет кто-то, пожалуйста, дай мне какой-нибудь намек, как это сделать?

Что я на самом деле хочу сделать, это передать данные из таблиц Google App Engine для BigQuery (и на ежедневной синхронизации), чтобы я мог сделать некоторый анализ.Я использую службу хранения Google Cloud в Google App Engine для записи (новых) записей в файлы в хранилище облака Google, а единственная недостающая часть - добавить данные в таблицы в BIGQUERY (или создать новую таблицу для записи в первый раз).По общему признанию, я могу вручную загрузить / добавить данные, используя инструмент BearQuery Browser, но я хотел бы, чтобы он был автоматическим, в противном случае мне нужно вручную сделать это каждый день.

Это было полезно?

Решение

Я не знаю о каких-либо образцах Java для загрузки таблиц из Google Cloud Storage в BigQuery.Тем не менее, если вы следуете инструкциям по запуску запросов на работу Здесь вы можете запуститьЗагрузочная работа вместо следующих:

Job job = new Job();
JobConfiguration config = new JobConfiguration();
JobConfigurationLoad loadConfig = new JobConfigurationLoad();
config.setLoad(loadConfig);

job.setConfiguration(config);

// Set where you are importing from (i.e. the Google Cloud Storage paths).
List<String> sources = new ArrayList<String>();
sources.add("gs://bucket/csv_to_load.csv");
loadConfig.setSourceUris(sources);

// Describe the resulting table you are importing to:
TableReference tableRef = new TableReference();
tableRef.setDatasetId("myDataset");
tableRef.setTableId("myTable");
tableRef.setProjectId(projectId);
loadConfig.setDestinationTable(tableRef);

List<TableFieldSchema> fields = new ArrayList<TableFieldSchema>();
TableFieldSchema fieldFoo = new TableFieldSchema();
fieldFoo.setName("foo");
fieldFoo.setType("string");
TableFieldSchema fieldBar = new TableFieldSchema();
fieldBar.setName("bar");
fieldBar.setType("integer");
fields.add(fieldFoo);
fields.add(fieldBar);
TableSchema schema = new TableSchema();
schema.setFields(fields);
loadConfig.setSchema(schema);

// Also set custom delimiter or header rows to skip here....
// [not shown].

Insert insert = bigquery.jobs().insert(projectId, job);
insert.setProjectId(projectId);
JobReference jobRef =  insert.execute().getJobReference();

// ... see rest of codelab for waiting for job to complete.
.

Для получения дополнительной информации о объекте конфигурации нагрузки см. Джавадок здесь .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top