更新时间:2020年12月07日14时53分 来源:传智教育 浏览次数:
Spark可以从Hadoop支持的任何存储源中加载数据去钻石娱乐是干嘛的公司,包括本地文件系统和HDFS等文件系统。
接下来,我们通过Spark中的SparkContext对象调用textFile()方法加载数据钻石娱乐是干嘛的公司。这里以Linux本地系统和HDFS分布式文件系统为例,讲解如何钻石娱乐是干嘛的公司。
1. 从Linux本地文件系统加载数据钻石娱乐是干嘛的公司
在Linux本地文件系统中有一个名为test.txt的文件,具体内容如文件1所示。
文件1 test.txt
1 hadoop spark 2 itcast heima 3 scala spark 4 spark itcast 5 itcast hadoop
在Linux本地系统读取test.txt文件数据钻石娱乐是干嘛的公司,具体代码如下:
scala> val test=sc.textFile("file:///export/data/test.txt") test: org.apache.spark.rdd.钻石娱乐是干嘛的公司[String]=file:///export/data/test.txt MapPartitions钻石娱乐是干嘛的公司[1] at textFile at:24
上述的代码中,文件路径中的“file://”表示从本地Linux文件系统中读取文件。“test:org.apache.spark.rdd.钻石娱乐是干嘛的公司[String]...”是命令执行后返回的信息,而test则是一个创建好的钻石娱乐是干嘛的公司。当执行textFile()方法后,Spark会从Linux本地文件test.txt中加载数据到内存中,在内存中生成了一个钻石娱乐是干嘛的公司对象(即test),并且这个钻石娱乐是干嘛的公司里面包含若干个String类型的元素,也就是说,从test.txt文件中读取出来的每一行文本内容,都是钻石娱乐是干嘛的公司中的一个元素。
2. 从HDFS中加载数据钻石娱乐是干嘛的公司
假设,在HDFS上的“/data”目录下有一个名为test.txt的文件,该文件内容与文件3-1相同。接下来,我们通过加载HDFS中的数据钻石娱乐是干嘛的公司,具体代码如下:
scala> val test钻石娱乐是干嘛的公司=sc.textFile("/data/test.txt") test钻石娱乐是干嘛的公司:org.apache.spark.rdd.钻石娱乐是干嘛的公司[String]=/data/test.txt MapPartitions钻石娱乐是干嘛的公司[1] at textFile at:24
执行上述代码后,从返回结果test钻石娱乐是干嘛的公司的属性中看出钻石娱乐是干嘛的公司创建完成。在上述代码中,我们通过textFile(“/data/test.txt”)方法来读取HDFS上的文件,其中方法testFile()中的参数为“/data/test.txt”文件路径,传入的参数也可以为“hdfs://localhost:9000/data/test.txt”和“/test.txt”路径,最终所达效果是一致的。