2016-08-25 23 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)

中號