首页 > 其他分享 >2月18日 spark实验三 hadoop和spark的安装和使用

2月18日 spark实验三 hadoop和spark的安装和使用

时间:2024-02-19 18:12:08浏览次数:19  
标签:HDFS 18 hadoop user test spark txt

1.安装 Hadoop 和 Spark
进入 Linux 系统,参照本教程官网“实验指南”栏目的“Hadoop 的安装和使用”,完
成 Hadoop 伪分布式模式的安装。完成 Hadoop 的安装以后,再安装 Spark(Local 模式)。
2.HDFS 常用操作
使用 hadoop 用户名登录进入 Linux 系统,启动 Hadoop,参照相关 Hadoop 书籍或网络
资料,或者也可以参考本教程官网的“实验指南”栏目的“HDFS 操作常用 Shell 命令”,
使用 Hadoop 提供的 Shell 命令完成如下操作:
(1) 启动 Hadoop,在 HDFS 中创建用户目录“/user/hadoop”;

  1. 启动hadoop

  2. 创建目录

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

  1. 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 中运行命令。
(1)编写代码

import org.apache.spark.sql.SparkSession

object HDFSFileReader {
  def main(args: Array[String]): Unit = {
    // 创建SparkSession
    val spark = SparkSession.builder()
      .appName("HDFS File Reader")
      .getOrCreate()

    // 读取HDFS文件
    val linesRDD = spark.sparkContext.textFile("hdfs:///user/hadoop/test.txt")

    // 统计文件行数
    val lineCount = linesRDD.count()

    // 打印行数
    println(s"文件行数为: $lineCount")

    // 停止SparkSession
    spark.stop()
  }
}

(2)打包应用程序

name := "HDFSFileReader"

version := "1.0"

scalaVersion := "2.12.10"

libraryDependencies += "org.apache.spark" %% "spark-core" % "3.2.0" % "provided"

libraryDependencies += "org.apache.spark" %% "spark-sql" % "3.2.0" % "provided"

(3)提交spark-submit运行

(4)输出结果

标签:HDFS,18,hadoop,user,test,spark,txt
From: https://www.cnblogs.com/lmyy/p/18021692

相关文章

  • 2月17日spark实验2 Scala 语言基础
    计算级数请用脚本的方式编程计算并输出下列级数的前n项之和Sn,直到Sn刚好大于或等于q为止,其中q为大于0的整数,其值通过键盘输入。例如,若q的值为50.0,则输出应为:Sn=50.416695。请将源文件保存为exercise2-1.scala,在REPL模式下测试运行,测试样......
  • 2024-02-18-物联网C语言(8-结构体、共用体、枚举)
    8.结构体、共用体、枚举8.1结构体的概念和定义8.1.1基本概述构造类型:不是基本类型的数据结构也不是指针,它是若干个相同或不同类型的数据构成的集合。常用的构造类型有数组、结构体、共用体。数组用于保存多个相同类型的数据结构体用于保存多个不同类型的数据8.1.2概......
  • 前端知识回顾概览--React 17+18
    react目前最火的前端框架之一状态管理、路由等一定要重点掌握熟悉常见API,并且有使用经验1.react.js基础react.js简介jsx模版语法及babel编译配置事件/条件渲染/列表渲染等基础用法react.js组件化及生命周期refs及ReactAPI详解create-react-appcli的......
  • 2024/1/18
    查找某元素的下标功能:查找指定元素在列表的下标,如果找不到,报错ValueError语法:列表.index(元素)index就是列表对象(变量)内置的方法(函数)插入元素:语法:列表[inser(下标,元秦),在指定的下标位置,插入指定的元素 my_list=[1,2,3]my_list.insert(1,"itheima"print(my_list)#结果:[......
  • 2.17~2.18 题单选做
    Sister,Friend,Loverいつだってそばにいるから不论何时我都愿伴你左右簡単にナシと决めないで所以不要轻易否决我受け止めて接纳我吧CF1854DMichaelandHotel考察可以通过询问完成:\(k\)取足够大+二分得到某点指向的环上的一个点。\(k\)取1+二分得到......
  • 上周热点回顾(2.12-2.18)
    热点随笔:· 2024年,我又开始用Linux桌面作为主力系统了~ (程序设计实验室)· .NET团队公布.NET9开发目标并发布.NET9的首个预览版 (张善友)· 糟糕,接口被刷了,怎么办? (苏三说技术)· C#实现刘谦春晚魔术 (柴油飞机)· 【开工大吉】推荐4款开源、美观的WPFUI组件库 (......
  • 2024/2/18
    先来强化一下强连通分量luoguP1407[国家集训队]稳定婚姻题意:给n对现在的夫妻和m对曾经相爱的人。如果有一对夫妻分开了,有没有可能这两个人和另外的几对夫妻组成新的组合。如果可能输出‘unsafe’,否则输出‘safe’思路:看完题之后我懵了,我看了一眼题解描述的题意才明白这......
  • 2024.2.18 捶打我天然的沉默 切割我卑微与困惑
    今天是DS选讲,理解了大部分内容,还有一些自己口胡了,很好。ARC打的有点难受,因为电脑有点稀碎(指编译1min+),机房的电脑又用不习惯。具体表现为会E差一点过,可惜。CF713CSonyaandProblemWihtoutaLegendslopetrick入门题。具体的,写出DP会发现只需要支持取前缀min,加入......
  • 2024/2/18
    今天把离线数仓的ads层写完了。还把可视化报表、海豚调度器跑通了。到现在,还剩下一个即席查询。现如今整个数仓79张表。不过在写的过程中,可以感觉到,还有一部分表没有写。如果要全部加上,可能还得再加二十几张表吧。    ......
  • 2024-2-18 数论学习笔记
    zak讲数论专题,好难,听不懂,整理一下。借鉴了zak的课件。还没写完呐,还会更新的。目录一、线性筛二、Dirichlet前缀和三、整除分块四、莫比乌斯函数例一一、线性筛筛出\(n\)以内的所有质数。\(n≤10^8\)。直接埃氏筛是\(O(n\ln\lnn)\)的,但是一个合数会被筛多次,......