寒假学习7linux中spark的应用

HDFS 常用操作

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

 

该命令中表示在HDFS中创建一个“/user/hadoop”目录,“–mkdir”是创建目录的操作,“-p”表示如果是多级目录,则父目录和子目录一起创建,这里“/user/hadoop”就是一个多级目录,因此必须使用参数“-p”,否则会出错。

(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 子目录及其子目录下的所有内容。

 

 Spark 读取文件系统的数据

1.首先进入spark-shell指令

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

注意:加载HDFS文件和本地文件都是使用textFile,区别是添加前缀(hdfs://和file://)进行标识

textFile.count()                         #统计结果显示 1 行

3. 在 spark-shell 中读取 HDFS 系统文件“/user/hadoop/test.txt”(如果该文件不存在,

请先创建),然后,统计出文件的行数;

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

首先输入 :quit  命令退出spark-shell模式:

在终端中执行如下命令创建一个文件夹 sparkapp3 作为应用程序根目录:

 

在sparkapp3/src/main/scala下建立一个名为SimpleApp.scala的文件

(vim sparkapp3/src/main/scala/SimpleApp.scala)

该程序依赖Spark API,因此我们需要通过sbt进行编译打包。sparkapp3中新建文件simple.sbt(vim ./sparkapp3/simple.sbt),添加内容如下,声明该独立应用程序的信息以及与 Spark 的依赖关系

注意:文件 simple.sbt 需要指明 Spark 和 Scala 的版本,如下图所示

为保证 sbt 能正常运行,先执行如下命令检查整个应用程序的文件结构

接着,我们就可以通过代码将整个应用程序打包成 JAR,使用sbt之前确保安装了sbt

安装sbt

https://www.scala-sbt.org/download.html下载sbt-1.3.4.tgz安装包

解压缩,改配置等一系列请自行百度

安装之后打包

代码需要规范书写,空格之类的不然会报错

生成的 jar 包的位置为 /sparkapp3/target/scala-2.12/simple-project_2.12-1.0.jar

通过 spark-submit 运行程序

结果

原文地址:https://www.cnblogs.com/dty602511/p/15776897.html