2014-09-05 55 views

回答

3

我很快就想出了一些代码。不知道它是否会完全解决您的使用案例。但你必须做类似的事情。

下面是Scala代码来创建表编程

val tableId = "_geometry_" 
    val tableReference = new TableReference().setTableId(tableId) 
    val table = new Table().setSchema(new TableSchema().setFields(
    List(
     new TableFieldSchema().setName("geo").setType("RECORD").setFields(
     List(
      new TableFieldSchema().setName("type").setType("STRING"), 
      new TableFieldSchema().setName("coordinates").setType("RECORD").setMode("REPEATED").setFields(
      List(
       new TableFieldSchema().setName("index").setType("RECORD").setMode("REPEATED").setFields(
       List(
        new TableFieldSchema().setName("sub_index").setType("RECORD").setMode("REPEATED"). 
        setFields(List(new TableFieldSchema().setName("_0").setType("STRING"), 
        new TableFieldSchema().setName("_1").setType("STRING"))) 
       ) 
      ) 
      ) 
     ) 
     ) 
    )) 
    ) 
).setTableReference(tableReference) 

创建表,你可以加载CSV文件中的数据,或者您也可以通过编程插入数据后。

这将创建一个这样

enter image description here

+0

表模式的请你可以给我的代码输出 - 即;架构格式?我将使用它来基于UI加载到BigQuery中。 – Subhayu 2014-09-05 14:43:37

+0

不幸的是您的解决方案无法正常工作。这是给山姆错误 - “location.geo.coordinates [0],不允许嵌套数组” – Subhayu 2014-09-07 12:56:52

+0

正如我所说,代码仅仅是一个参考,我可能无法完全适合您的用例。但是给定的代码工作正常,并生成如表所示的表。您需要修改代码以达到您的目的 – 2014-09-08 03:21:41

相关问题