2017-06-13 58 views
1

我試圖從火花階加載CSV文件CSV文件。我看到,我們可以使用下面的兩種不同的語法做:有效的方式來加載火花/斯卡拉

sqlContext.read.format("csv").options(option).load(path) 
    sqlContext.read.options(option).csv(path) 

是什麼這兩個並給出了更好的性能區別? 感謝

回答

3

有沒有區別。

那麼,爲什麼同時存在?

  • .format(fmt).load(path)方法是一種靈活的,可插入的 API,允許添加更多的格式,而不必重新編譯火花 - 你可以註冊自定義數據源實現的別名和有火花使用它們; 「CSV」 used to be這樣的定製實現(星火包裝的二進制文件外),但它現在是項目
  • 沒有關於「內置」數據源速記方法(如csvparquetjson的一部分... ),這使代碼更簡單一些(並在編譯時驗證)

最終,它們都創建一個CSV數據源並使用它來加載數據。

底線,對於任何支持的格式,你應該選擇「速記」的方法,例如csv(path)