2016-07-05 66 views
1

如何在不使用databricks csv api的情況下將CSV文件直接讀入spark數據框?
我知道有databricks csv api,但我不能使用它的api ..
我知道有案例類使用和映射cols根據cols(0)職位,但問題是我有超過22 coloumns因此我不能使用案例類,因爲在案例類中,我們限制只使用22種顏色。 我知道有structtype來定義模式,但我覺得這將是非常長的代碼來定義結構類型40 coloumns。 我正在尋找使用讀取方法讀入數據框的東西,但在火花中,我們沒有直接支持csv文件,我們需要解析它?但如果我們有超過40列的話?如何在不使用databricks csv api的情況下將CSV文件直接讀入spark數據框?

+0

有什麼不對databricks CSV API? – Himaprasoon

+0

@Himaprasoon,databricks csv api沒有錯。事實上,我必須寫一個認證hortonworks hdpcd火花,在考試中,他們不提供databricks api ..只是火花內置的API我們可以使用... –

+0

是我的回答有用嗎?如果不是,如果還有其他東西,你會發現什麼? –

回答

0

我也研究過這個,並最終編寫了一個python腳本來爲解析(行)函數和模式的定義生成scala代碼。是的,這可能會變成一小塊代碼。

如果您的數據不是太大,您可能會走的另一條路徑:使用python熊貓! 啓動py-spark,將數據讀入熊貓數據框,然後從中創建一個spark數據框。保存它(例如作爲parquet文件)。並在scala-spark中加載該鑲木地板文件。

相關問題