我可以将文件从本地驱动器导入VMWare HDP 2.5 Sandbox以通过Zeppelin在Spark中使用吗?

时间:2016-11-16 14:00:22

标签: apache-spark vmware apache-zeppelin hortonworks-sandbox

我想在我的Spark程序中使用本地文本文件,我在VMWare中的HDP 2.5 Sandbox中运行。

1)是否有任何拖放方式直接在VM的HDFS中获取它?

2)我可以使用Zeppelin导入它吗?如果是,那么如何获得在Spark中使用它的绝对路径(位置)?

3)还有其他方式吗?什么以及如何,如果是的话?

1 个答案:

答案 0 :(得分:0)

要在VM中将数据导入HDFS,您需要使用hdfs命令将VM中本地文件系统中的文件推送到VM中的HDFS。该命令应如下所示:

hadoop fs -put filename.log /my/hdfs/path

有关HDFS命令的更多信息,请参阅Hadoop File System Shell Commands

这样说,当您使用Apache Spark时,您也可以参考本地文件系统而不是HDFS。为此,您可以使用file:///...代替hdfs://...。例如,要通过Spark访问HDFS中的文件,通常可以运行如下命令:

val mobiletxt = sc.textFile("/data/filename.txt")

但您也可以访问VM的本地文件系统,如:

val mobiletxt = sc.textFile("file:///home/user/data/filename.txt")

至于Apache Zeppelin,这是一个与Apache Spark(和其他系统)配合使用的笔记本界面;目前Zeppelin本身没有进口机制。相反,您将在笔记本中执行上述操作,以访问VM的HDFS或本地文件系统。