zoukankan      html  css  js  c++  java
  • 20212022年寒假学习进度11

    今天学习了scala面向对象编程的特点,并完成了spark基础实验三

    一、实验目的

     

    (1) 掌握在 Linux 虚拟机中安装 Hadoop 和Spark 的方法;

    (2) 熟悉HDFS 的基本使用方法;

    (3) 掌握使用Spark 访问本地文件和HDFS 文件的方法。

    二、实验平台

     

    操作系统:Ubuntu16.04; Spark 版 本 :2.1.0; Hadoop 版本:2.7.1。

    三、实验内容和要求

     

    1. 安装 Hadoop Spark

     

    进入 Linux 系统,参照本教程官网“实验指南”栏目的“Hadoop 的安装和使用”,完 Hadoop 伪分布式模式的安装。完成 Hadoop 的安装以后,再安装Spark(Local 模式)。

    2. HDFS 常用操作

     

    使用 hadoop 用户名登录进入 Linux 系统,启动 Hadoop,参照相关 Hadoop 书籍或网络资料,或者也可以参考本教程官网的实验指南栏目的HDFS 操作常用 Shell 命令

    使用Hadoop 提供的 Shell 命令完成如下操作:

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

    hadoop fs -mkdir /user/hadoop

     

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

    hdfs dfs -put /home/hadoop/test.txt /user/hadoop

     

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

    hdfs dfs -get /user/hadoop/test.txt /home/hadoop

     

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

    hdfs dfs -cat /user/hadoop/test.txt

     

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

    hadoop fs -mkdir /user/hadoop/input

    hddoop fs -cp /user/hadoop/test.txt /user/hadoop/input

     

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

    hadoop fs -rm /user/hadoop/test.txt

    hadoop fs -rm -r /user/hadoop/input

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

     

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

     

    bin/spark-shell

    val textFile = sc.textFile("file:///home/hadoop/test.txt")  

    textFile.count()

     

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

    val textFile1 = sc.textFile("hdfs://Hadoop102:8020/user/hadoop/test.txt")

    textFile1.count()

     

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

    cd ~                                                           # 进入用户主文件夹

    mkdir ./sparkpro                                              # 创建应用程序根目录

    mkdir -p ./sparkpro/src/main/scala                            # 创建所需的文件夹结构

    vim ./sparkpro/src/main/scala/Simple.scala

    编写代码到Simple.scala

    /*注意路径logFiled*/

    import org.apache.spark.SparkContext

    import org.apache.spark.SparkContext._

    import org.apache.spark.SparkConf

     

    object Simple{

      def main(args: Array[String]) {

        val logFile = "hdfs://Hadoop102:8020/user/hadoop/test.csv"

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

        val sc = new SparkContext(conf)

        val logData = sc.textFile(logFile, 2)

        val num = logData.count()

        println("这个文件有 %d 行!".format(num))

      }

    }

    之后创建simple.sbt

    vim ./sparkpro/simple.sbt

    写入simple.sbt

    /*注意:文件 simple.sbt 需要指明 Spark Scala 的版本*/

    name := "Simple Project"

    version := "1.0"

    scalaVersion := "2.12.10"

    libraryDependencies += "org.apache.spark" %% "spark-core" % "3.0.0"

    然后打包执行

    cd ~/sparkpro

    /opt/module/sbt/sbt package

    /opt/module/spark-local/bin/spark-submit --class "Simple" ~/sparkpro/target/scala-2.12/simple-project_2.12-1.0.jar 2>&1 | grep "这个文件有"

     

    作者:哦心有
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    DirectSound学习笔记(7):缓冲区操作
    Firebird MsSQL Data Types比较
    插座上的Linux充电器.不..Marvell Plug Computer
    ASP.NET / 学习asp.net比较完整的流程
    P2P穿透UDP/TCP原理
    在C#中利用ActiveX控件进行视频采集
    ffmpeg快速命令使用
    Win7上帝模式
    DirectSound学习笔记(3):协作级别
    自己写的一个asp.netcookies购物车类
  • 原文地址:https://www.cnblogs.com/haobox/p/15790623.html
Copyright © 2011-2022 走看看