实验 3 Spark 和 Hadoop 的安装

2.HDFS 常用操作

(1) 启动 Hadoop,在 HDFS 中创建用户目录“/user/hadoop”;

 

 

(2) 在 Linux 系统的本地文件系统的“/home/hadoop”目录下新建一个文本文件 test.txt,并在该文件中随便输入一些内容,然后上传到 HDFS 的“/user/hadoop” 目录下;

 

 

(3) 把 HDFS 中“/user/hadoop”目录下的 test.txt 文件,下载到 Linux 系统的本地文 件系统中的“/home/hadoop/下载”目录下;

 

(4) 将HDFS中“/user/hadoop”目录下的test.txt文件的内容输出到终端中进行显示

 

(5) 在 HDFS 中的“/user/hadoop”目录下,创建子目录 input,把 HDFS 中 “/user/hadoop”目录下的 test.txt 文件,复制到“/user/hadoop/input”目录下;

 

 

 

(6) 删除HDFS中“/user/hadoop”目录下的test.txt文件,删除HDFS中“/user/hadoop” 目录下的 input 子目录及其子目录下的所有内容。

 

 

 

3. Spark 读取文件系统的数据

(1)在 spark-shell 中读取 Linux 系统本地文件“/home/hadoop/test.txt”,然后统计出文 件的行数;

 

(2)在 spark-shell 中读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在, 请先创建),然后,统计出文件的行数;

 

(3)编写独立应用程序,读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在, 请先创建),然后,统计出文件的行数;通过 sbt 工具将整个应用程序编译打包成 JAR 包, 并将生成的 JAR 包通过 spark-submit 提交到 Spark 中运行命令。

代码文件中输入以下代码:

/* SimpleApp.scala */

import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

import org.apache.spark.SparkConf

object SimpleApp {

def main(args: Array[String]) {

val logFile = " hdfs://localhost:9000/user/hadoop/test.txt"

val conf = new SparkConf().setAppName("Simple Application")

val sc = new SparkContext(conf)

val logData = sc.textFile(logFile, 2)

val num = logData.count()

printf("The num of this file is %d", num)

}

 }

打包程序:

 

生成的 JAR 包的位置为:

 

对于前面 sbt 打包得到的应用程序 JAR 包,可以通过 spark-submit 提交到 Spark 中运 行,

/opt/module/spark-3.1.2/bin/spark-submit --class "SimpleAppShiYan" /opt/module/sbt/mycode/target/scala-2.12/simple-project_2.12-1.0.jar

 

posted @ 2022-02-27 11:28  风吹过半夏  阅读(395)  评论(0编辑  收藏  举报