当前位置:   article > 正文

在Ubuntu20.04搭建Hadoop分布式平台和分布式内存计算平台Pyspark然后用hadoop加载数据文件统计出单词出现次数_hadoop实现数据读写功能ubuntu

hadoop实现数据读写功能ubuntu

在Ubuntu20.04搭建Hadoop分布式平台和分布式内存计算平台Pyspark然后用hadoop加载数据文件统计出单词出现次数

1.搭建Hadoop平台

详见上一篇博客:(9条消息) 在Ubuntu20.04里安装Hadoop详细步骤(图文),亲测成功!_菜鸡的学习之路的博客-CSDN博客

2.搭建Pyspark平台

使用pip方式安装(直接下载有点慢,用了清华大学的镜像,但是好像换了镜像以后我下载的也挺慢的,不知道大家怎么样):

pip install pyspark -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • 1

在这里插入图片描述

设置Spark和Hadoop环境变量:打开终端,并编辑你的 Bash 配置文件(例如 .bashrc )。

nano .bashrc
  • 1

添加以下行来设置 Spark和Hadoop 的环境变量:

export SPARK_HOME=/home/hadoop/.local/lib/python3.8/site-packages/pyspark
export PATH=$SPARK_HOME/bin:$PATH
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export YARN_CONF_DIR=/usr/local/hadoop/etc/hadoop
#下面两行是后面加的,所以下面截图里没有
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

重新加载环境变量:保存配置文件后,运行以下命令来重新加载环境变量:

source ~/.bashrc

  • 1
  • 2
3.统计单词出现次数

①启动 HDFS:

cd /usr/local/hadoop
./sbin/start-dfs.sh
  • 1
  • 2

输入jps查看是否启动成功:

jps
  • 1

在这里插入图片描述

②启动 YARN:


cd /usr/local/hadoop
./sbin/start-yarn.sh

  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

③创建输入文件并上传到 HDFS:

  • 创建一个文本文件(例如 input.txt)并输入一些文本内容,保存后退出。

    cd ~
    nano input.txt
    
    • 1
    • 2

在这里插入图片描述

在这里插入图片描述

  • 使用以下命令将文件上传到 HDFS(先创建input文件夹再上传):

    创建文件夹input:

    cd /usr/local/hadoop
    hdfs dfs -mkdir /input
    
    • 1
    • 2

在这里插入图片描述

查看是否创建成功:

cd bin
hdfs dfs -ls /
  • 1
  • 2

在这里插入图片描述

上传input.txt到input:

hadoop fs -put /home/hadoop/input.txt /input
  • 1

查看是否上传成功:

hadoop fs -ls /input
  • 1

在这里插入图片描述

④创建一个 Python 脚本(例如 word_count.py)并使用以下代码进行单词计数:

创建脚本:

cd ~
nano word_count.py
  • 1
  • 2

在这里插入图片描述

在这里插入图片描述

python代码:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("WordCount").getOrCreate()

lines = spark.read.text("hdfs://localhost:9000/input/input.txt").rdd.map(lambda r: r[0])
counts = lines.flatMap(lambda x: x.split(" ")).map(lambda x: (x, 1)).reduceByKey(lambda a, b: a + b)

counts.saveAsTextFile("hdfs://localhost:9000/output/wordcount")

spark.stop()

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

保存退出。

⑤运行python脚本

spark-submit word_count.py
  • 1

在这里插入图片描述

⑥查看计数结果,使用以下命令从 HDFS 中获取计数结果:

cd /usr/local/hadoop/bin
hdfs dfs -cat /output/wordcount/part-*
  • 1
  • 2

在这里插入图片描述

到这里就结束啦!

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号