從互聯網上下載數據

您可以使用磚筆記本下載的數據從公共url體積存儲集群的司機。如果你從雲訪問數據對象存儲,直接訪問數據與Apache火花提供更好的結果。

磚集群提供通用計算,允許您另外Apache火花命令運行任意代碼。因為任意命令執行對集群的根目錄,而不是DBFS根,你必須在閱讀之前將下載的數據移動到一個新的位置與Apache火花。

請注意

一些工作空間配置可能阻止訪問公共網絡。谘詢您的工作區管理員如果你需要擴展網絡訪問。

下載一個文件,Bash、Python或Scala

磚不提供任何本機工具從互聯網下載數據,但是您可以使用開源工具支持的語言。下麵的例子使用包Bash、Python和Scala下載相同的文件。

% sh curl https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows。csv / tmp / curl-subway.csv——輸出
進口urlliburllib請求urlretrieve(“https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv”,“/ tmp / python-subway.csv”)
進口javaURL進口javaio文件進口orgapache下議院ioFileUtilsFileUtilscopyURLToFile(URL(“https://data.cityofnewyork.us/api/views/kk4q-3rt2/rows.csv”),文件(“/ tmp / scala-subway.csv”))

因為這些文件下載到存儲卷附加到司機使用% sh看到這些文件,就像下麵的例子:

% sh ls / tmp /

您可以使用Bash命令預覽文件下載的內容,就像下麵的例子:

% sh / tmp / curl-subway.csv負責人

移動數據與dbutils

訪問數據與Apache火花,把它從它的當前位置。這些數據的當前位置是在短暫的體積存儲隻有可見的司機。磚並行加載數據從文件來源,所以文件必須看到所有節點的計算環境。而支持廣泛的磚外部數據源,基於文件的數據訪問通常假定訪問雲對象存儲。

磚公用事業(dbutils)允許您將文件從存儲卷附加到司機與DBFS其他地方訪問,包括外部你配置訪問對象存儲位置。下麵的例子將數據移動到一個目錄中DBFS根雲對象存儲位置在最初的工作區部署配置。

dbutilsfsmv(“文件:/ tmp / curl-subway.csv”,“dbfs: / tmp / subway.csv”)

閱讀下載數據

移動雲對象存儲的數據之後,您可以正常讀取數據。下麵的代碼讀取CSV數據搬到DBFS根。

df=火花格式(“csv”)選項(“頭”,真正的)負載(“/ tmp / subway.csv”)顯示(df)