2017-04-24 116 views
0

我試圖加載有一個CSV數據框,但我得到這個錯誤:Ambigouos列星火「數據」數據幀

Reference 'data' is ambiguous 

讀書時,我定義模式,但可能是因爲在CSV數據有它逗號的描述,該模式顯示2分新列就叫「數據」:

root 
|-- CD_SK_PRODUTO_ATG: string (nullable = true) 
|-- CD_VENDA_PRODUTO: string (nullable = true) 
|-- CD_VENDA_REFIL: string (nullable = true) 
|-- NO_PRODUTO: string (nullable = true) 
|-- ID_REFIL: string (nullable = true) 
|-- DC_RECOMENDACAO_PUBLICO: string (nullable = true) 
|-- DC_USO: string (nullable = true) 
|-- NO_LINHA_PRODUTO: string (nullable = true) 
|-- CD_CONTEXTO: string (nullable = true) 
|-- DT_ULTIMA_ATUALIZACAO: string (nullable = true) 
|-- CD_USUARIO_ATUALIZACAO: string (nullable = true) 
|-- SG_PAIS: string (nullable = true) 
|-- data: date (nullable = true) 
|-- data: date (nullable = true) 

由於2只新列有我不能做與數據框什麼相同的名稱。我試圖用df.drop()df.limit(1)刪除列,選擇只是一個df.select()情侶列,限制的結果,讀取時推斷模式...

但錯誤Reference 'data' is ambiguous仍顯示。

任何人都有任何線索?

+0

你檢查了'csv'文件中這些字段來自哪裏? – mtoto

+0

CSV有12列。但是當我嘗試在excel中打開它時,我猜測是因爲評論中有逗號,幾列出現錯位。不幸的是,當CSV生成時我無法訪問,因此我可以使用雙引號修復列。我正在跳躍尋找某種功能,比如「dropErrors」 –

+0

不能在文本編輯器中打開它嗎? – mtoto

回答

0

感謝您的迴應,夥計們!

梅赫雷茲的建議與一些改造工作。最終版本是這樣的:

product_rdd = sc.textFile(product_path).map(lambda x: x.split('","')) 
results["PRODUCT_DATA"] = product_rdd.toDF(product_schema) 

我不得不使用",",不是最好的解決辦法分裂,但再次工作了,需要我:)

謝謝!