从互联网上下载数据

您可以使用砖笔记本下载的数据从公共url体积存储集群的司机。如果你从云访问数据对象存储,直接访问数据与Apache火花提供更好的结果。

砖集群提供通用计算,允许您另外Apache火花命令运行任意代码。因为任意命令执行对集群的根目录,而不是DBFS根,你必须在阅读之前将下载的数据移动到一个新的位置与Apache火花。

请注意

一些工作空间配置可能阻止访问公共网络。咨询您的工作区管理员如果你需要扩展网络访问。

下载一个文件,Bash、Python或Scala

砖不提供任何本机工具从互联网下载数据,但是您可以使用开源工具支持的语言。bob下载地址下面的例子使用包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)