gpt4 book ai didi

google-app-engine - 使用 Java 将数据从 Google Cloud Storage 加载到 BigQuery

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:01 25 4
gpt4 key购买 nike

我想将数据从 Google Cloud Storage 上传到 BigQuery,但找不到任何描述如何执行此操作的 Java 示例代码。有人可以给我一些提示吗?

我真正想做的是将数据从 Google App Engine 表传输到 BigQuery(并每天同步),以便我可以进行一些分析。我使用 Google App Engine 中的 Google Cloud Storage Service 将(新)记录写入 Google Cloud Storage 中的文件,唯一缺少的部分是将数据附加到 BigQuery 中的表(或为首次写入创建一个新表)。不可否认,我可以使用 BigQuery 浏览器工具手动上传/附加数据,但我希望它是自动的,否则我需要每天手动执行。

最佳答案

我不知道有任何用于将表从 Google Cloud Storage 加载到 BigQuery 的 java 示例。也就是说,如果您按照运行查询作业的说明进行操作 here ,您可以使用以下命令运行加载作业:

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.

有关加载配置对象的更多信息,请参阅 javadoc here .

关于google-app-engine - 使用 Java 将数据从 Google Cloud Storage 加载到 BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com