将 hdfs 文件加载到 spark 上下文中

load hdfs file into spark context

我是 spark/scala 的新手,需要从 hdfs 加载一个文件到 spark。我在 hdfs (/newhdfs/abc.txt) 中有一个文件,我可以使用 hdfs dfs -cat /newhdfs/abc.txt

查看我的文件内容

我按照以下顺序将文件加载到 spark 上下文中

spark-shell #It entered into scala console window

scala> import org.apache.spark._; //Line 1
scala> val conf=new SparkConf().setMaster("local[*]");
scala> val sc = new SparkContext(conf);
scala> val input=sc.textFile("hdfs:///newhdfs/abc.txt"); //Line 4

在第 4 行按回车键后,我收到以下消息。

input: org.apache.spark.rdd.RDD[String] = hdfs:///newhdfs/abc.txt MapPartitionsRDD[19] at textFile at <console>:27``

这是致命错误吗?我需要做什么来解决这个问题?

(使用 Spark-2.0.0 和 Hadoop 2.7.0)

不是错误,它只是说明了您的 RDD 文件的名称。

Basic docs中有这个例子:

scala> val textFile = sc.textFile("README.md")
textFile: org.apache.spark.rdd.RDD[String] = README.md MapPartitionsRDD[1] at textFile at <console>:25

这表明了完全相同的行为。


如果没有 action 触发实际工作发生,您怎么会期望错误发生?

如果您想检查一切是否正常,请对您的 input RDD 进行计数,这是一个操作,将触发文件的实际读取,然后对您的元素进行计数RDD.