1
我試圖從火花階加載CSV文件CSV文件。我看到,我們可以使用下面的兩種不同的語法做:有效的方式來加載火花/斯卡拉
sqlContext.read.format("csv").options(option).load(path)
sqlContext.read.options(option).csv(path)
是什麼這兩個並給出了更好的性能區別? 感謝
我試圖從火花階加載CSV文件CSV文件。我看到,我們可以使用下面的兩種不同的語法做:有效的方式來加載火花/斯卡拉
sqlContext.read.format("csv").options(option).load(path)
sqlContext.read.options(option).csv(path)
是什麼這兩個並給出了更好的性能區別? 感謝
有沒有區別。
那麼,爲什麼同時存在?
.format(fmt).load(path)
方法是一種靈活的,可插入的 API,允許添加更多的格式,而不必重新編譯火花 - 你可以註冊自定義數據源實現的別名和有火花使用它們; 「CSV」 used to be這樣的定製實現(星火包裝的二進制文件外),但它現在是項目csv
,parquet
,json
的一部分... ),這使代碼更簡單一些(並在編譯時驗證)最終,它們都創建一個CSV數據源並使用它來加載數據。
底線,對於任何支持的格式,你應該選擇「速記」的方法,例如csv(path)
。