BigQuery - 从JAVA API加载时出现BackEnd错误

时间:2013-04-04 15:10:39

标签: java api google-bigquery

尝试使用JAVA API设置加载作业时,我收到503 - 后端错误。

我尝试加载的文件位于Google云端存储上,如果我尝试从BigQuery网络界面加载数据,告诉我要从Google云端存储加载,一切 的工作原理。

我使用API​​的方式可能有问题。

以下是代码:

            String url = "[GOOGLE_CLOUD_STORAGE_URL];

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

    config.setLoad(loadConfig);

    job.setConfiguration(config);

    List<String> sources = new ArrayList<String>();
    sources.add("gs://" + url);
    loadConfig.setSourceUris(sources);

    TableReference tableRef = new TableReference();
    tableRef.setDatasetId("Foo");
    tableRef.setTableId("Bar");
    tableRef.setProjectId(PROJECT_ID);
    loadConfig.setDestinationTable(tableRef);

    List<TableFieldSchema> fields = new ArrayList<TableFieldSchema>();
    TableFieldSchema field = new TableFieldSchema();

            ..... A LOT OF FIELDS

            field.setName("real_dollars_balance");
    field.setType("float");

    fields.add(field);
            TableSchema schema = new TableSchema();
    schema.setFields(fields);
    loadConfig.setSchema(schema);

    Insert insert = bigquery.jobs().insert(PROJECT_ID, job);
    insert.setProjectId(PROJECT_ID);
    JobReference jobId = insert.execute().getJobReference();

由于插入操作失败,我无法获得有效的Job引用,我在BigQuery上看不到任何新工作。 我在BigQuery上进行了正确的身份验证,我可以浏览数据集和表。 我想念一下吗?

编辑 - “execute()”方法调用抛出一个包含以下内容的执行,即GoogleJsonResponseException:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 503 Service           Unavailable
 {
   "code" : 503,
   "errors" : [ {
      "domain" : "global",
      "message" : "Backend Error",
      "reason" : "backendError"
    } ],
   "message" : "Backend Error"
  }

而且,它永远不会变得“可用”。 我真的不知道我错过了什么。 您是如何设置自动程序以在Google BigQuery上加载数据的?谷歌上的文档并不像我预期的那样明确。

0 个答案:

没有答案
相关问题