大数据编程实验一:HDFS常用操作和Spark读取文件系统数据
创始人
2024-01-18 07:53:39

大数据编程实验一:HDFS常用操作和Spark读取文件系统数据

文章目录

  • 大数据编程实验一:HDFS常用操作和Spark读取文件系统数据
    • 一、前言
    • 二、实验目的与要求
    • 三、实验内容
    • 四、实验步骤
      • 1、HDFS常用操作
      • 2、Spark读取文件系统的数据
    • 五、最后我想说

一、前言

这是我们大数据专业开设的第二门课程——大数据编程,使用的参考书是《Spark编程基础》,这门课跟大数据技术基础是分开学习的,但这门课是用的我们自己在电脑上搭建的虚拟环境进行实验的,不是在那个平台上,而且搭建的还是伪分布式,这门课主要偏向于有关大数据编程方面的,而且使用的编程语言是Python。

我上课的时候也没有怎么听,所以我再自己做一遍实验。

二、实验目的与要求

  1. 掌握在Linux虚拟机中安装Hadoop和Spark的方法
  2. 熟悉HDFS的基本使用方法
  3. 掌握使用Spark访问本地文件和HDFS文件的方法

三、实验内容

  1. 安装Hadoop和Spark

    进入Linux系统,完成Hadoop伪分布式模式的安装。完成Hadoop的安装以后,再安装Spark(Local模式)。

  2. HDFS常用操作

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

    • 启动Hadoop,在HDFS中创建用户目录“/user/hadoop”
    • 在Linux系统的本地文件系统的“/home/hadoop”目录下新建一个文本文件test.txt,并在该文件中随便输入一些内容,然后上传到HDFS的“/user/hadoop”目录下
    • 把HDFS中“/user/hadoop”目录下的test.txt文件,下载到Linux系统的本地文件系统中的“/home/hadoop/下载”目录下
    • 将HDFS中“/user/hadoop”目录下的test.txt文件的内容输出到终端中进行显示
    • 在HDFS中的“/user/hadoop”目录下,创建子目录input,把HDFS中“/user/hadoop”目录下的test.txt文件,复制到“/user/hadoop/input”目录下
    • 删除HDFS中“/user/hadoop”目录下的test.txt文件,删除HDFS中“/user/hadoop”目录下的input子目录及其子目录下的所有内容
  3. Spark读取文件系统的数据

    • 在pyspark中读取Linux系统本地文件“/home/hadoop/test.txt”,然后统计出文件的行数
    • 在pyspark中读取HDFS系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后,统计出文件的行数
    • 编写独立应用程序,读取HDFS系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后,统计出文件的行数;通过 spark-submit 提交到 Spark 中运行程序

四、实验步骤

这里我们已经提前在课上安装好Hadoop和Spark,所以就不演示了,如果不会的话可以上网查阅一下有很多教程或者等我后面有空写一遍博客也许,我得先把实验做完才行。

我们直接进行后面两个步骤。

1、HDFS常用操作

首先启动Hadoop集群,我们输入如下命令进入到hadoop的sbin目录下面,然后执行启动指令:

cd /usr/local/servers/hadoop/sbin/
start-dfs.sh

然后使用jps查看进程验证是否启动成功:

在这里插入图片描述

然后我们再进入hadoop目录下的bin目录中,输入如下命令创建用户目录“/user/hadoop”:

hdfs dfs -mkdir -p /user/hadoop

然后我们在master主机内的“/home/hadoop”目录下新建一个文本文件test.txt:

vi /home/hadoop/test.txt

然后再文件中随便输入一些内容:

在这里插入图片描述

然后我们我们重新进入hadoop的bin目录中并将这个文件上传到HDFS的“/user/hadoop”目录下:

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

查看一些我们是否成功上传到HDFS中:

hdfs dfs -ls /user/hadoop

在这里插入图片描述

可以看出我们上传成功了。

然后我们再通过如下命令把HDFS中“/user/hadoop”目录下的test.txt文件,下载到Linux系统的本地文件系统中的“/home/hadoop/下载”目录下:

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

然后我们使用如下命令将HDFS中“/user/hadoop”目录下的test.txt文件的内容输出到终端中进行显示:

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

在这里插入图片描述

我们再在HDFS中的“/user/hadoop”目录下,创建子目录input:

 hdfs dfs -mkdir /user/hadoop/input

并把HDFS中“/user/hadoop”目录下的test.txt文件,复制到“/user/hadoop/input”目录下:

hdfs dfs -cp /user/hadoop/test.txt /user/hadoop/input/

并查看一下是否复制成功:

hdfs dfs -ls /user/hadoop/input

在这里插入图片描述

最后我们删除HDFS中“/user/hadoop”目录下的test.txt文件:

hdfs dfs -rm -r /user/hadoop/test.txt

并删除HDFS中“/user/hadoop”目录下的input子目录及其子目录下的所有内容:

hdfs dfs -rm -r /user/hadoop/input

在这里插入图片描述

2、Spark读取文件系统的数据

我们首先启动pyspark:

cd /usr/local/spark/bin/
pyspark

在这里插入图片描述

启动pyspark之后我们就可以直接在这里面进行编程。

我们在pyspark中读取Linux系统本地文件“/home/hadoop/test.txt”,然后统计出文件的行数:

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

在这里插入图片描述

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

lines = sc.textFile("/user/hadoop/test.txt")
lines.count()

在这里插入图片描述

最后我们先在/home/hadoop中创建一个py文件并编写独立应用程序,读取HDFS系统文件“/user/hadoop/test.txt”(如果该文件不存在,请先创建),然后统计出文件的行数:

sudo vi st-app.py

在这里插入图片描述

最后通过 spark-submit 提交到 Spark 中运行程序:

/usr/local/spark/bin/spark-submit --master local[4] st-app.py 2>&1 | grep "The HDFS"

在这里插入图片描述

五、最后我想说

到这里本次实验就结束了,我重新做了一遍加深了一下印象,也更加熟练的使用这些Linux命令了。

后面一个实验就是RDD编程,我马上就会更新,Hold on!

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
苁蓉的食用方法 鲜苁蓉的吃法有... 肉苁蓉号称“温而不热,补而不峻,暖而不燥,滑而不泄,故有从容之名。”历来也是传统药食同源的滋补佳品。...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
阳澄湖在哪里哪个省的 阳澄湖是... 点击题目下方苏州生活指南有用 有趣 有态度近期的阳澄湖度很高,3月24日,央视二套《第一时间》直播连...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...