2016-08-25 66 views
0

基于表创建外部表已经发现,对于一个具体的片材文档,我试图引用作为外部表,在执行查询时*标题行正在包括在数据。我决定删除表格并使用定义文件重新创建它,这肯定会暴露文档中的选项。它似乎没有工作,因为没有模式创建,尽管在文件中定义。无需架构当从命令行

我已经重建了问题用简单的纸张3列和冻结标题行和以下test.def文件:

{ 
    "autodetect": false, 
    "schema": { 
    "fields": [ 
     {"name": "c1", "type": "STRING", "mode": "nullable"}, 
     {"name": "c2", "type": "STRING", "mode": "nullable"}, 
     {"name": "c3", "type": "STRING", "mode": "nullable"}, 
    ] 
    }, 
    "sourceFormat": "GOOGLE_SHEETS", 
    "sourceUris": [ 
    "https://docs.google.com/spreadsheets/..." 
    ], 
    "googleSheetsOptions": { 
    "skipLeadingRows": 1 
    } 
} 

,然后我尝试使用创建文件:

bq mk myproject:mydataset.mytable < test.def 

表创建,但没有模式存在 - 我究竟做错了什么?

  • 这个问题仍然存在,但我不能确定为什么95%的时间在表中创建OK和第一/标题行从一查询,但在一个特定的情况下,返回的数据正确地排除在外,创建方法一样所有其他的标题行中传回的数据...

奇:(

中号

回答

0

行,所以正确的语法是:

bq mk --external_table_definition=myfile.def project:dataset.table 

这也允许你告诉谷歌,跳过表上领先的行(作为TIEM写的不可能从BQ UI)

中号