如何使用笔记本电脑工作/安装Hadoop?
#python #云 #datascience #bigdata

ðð基本命令在笔记本中使用Hadoop


ð相关内容

您可以在:

ðGoogle Collab

您可以在:

ðºYouTube

您可以在:

ð±− GitHub

您可以与我联系:

ð§ -LinkedIn


简历ð§¾

我将安装hadoop程序,并将使用python库来编写一个回答问题的作业,每个评分都存在多少行?


第一 - 安装hadoopð

我使用以下命令,但您可以更改以获取最新版本:

!wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

如果需要,您可以获得其他版本:https://downloads.apache.org/hadoop/common/,然后在以前的命令中替换。


2nd-解压缩并复制ð

我使用以下命令:

!tar -xzvf hadoop-3.3.4.tar.gz && cp -r hadoop-3.3.4/ /usr/local/

第三名 - 设置Hadoop的Java

我使用以下命令:

#To find the default Java path and add export in hadoop-env.sh
JAVA_HOME = !readlink -f /usr/bin/java | sed "s:bin/java::"
java_home_text = JAVA_HOME[0]
java_home_text_command = f"$ {JAVA_HOME[0]} "
!echo export JAVA_HOME=$java_home_text >>/usr/local/hadoop-3.3.4/etc/hadoop/hadoop-env.sh

第四-套装Hadoop Home变量ðâ

我使用以下命令:

# Set environment variables
import os
os.environ['HADOOP_HOME']="/usr/local/hadoop-3.3.4"
os.environ['JAVA_HOME']=java_home_text

第五-运行hadoop -

我使用以下命令:

!/usr/local/hadoop-3.3.4/bin/hadoop


第六-创建一个使用HDFSðð的文件夹

我使用以下命令:

!/usr/local/hadoop-3.3.4/bin/hadoop fs -mkdir ml-100k


7th-用HDFS删除文件夹»

也许,以后您需要删除它。为此,您必须应用以下命令:

!/usr/local/hadoop-3.3.4/bin/hadoop fs -rm -r ml-100k


第8-将数据集带到hadoopð¾的Anlyze

我使用来自Grouplens的数据集。您可以得到其他:
http://files.grouplens.org/datasets/

这次我使用MovieLens,您可以使用以下方式下载它:

!wget http://files.grouplens.org/datasets/movielens/ml-100k.zip

使用数据提取文件。我在命令中以-d的路径中提取文件:

!unzip "/content/ml-100k.zip" -d "/content/ml-100k_folder"

可以使用HDF在实际目录中移动它:

!/usr/local/hadoop-3.3.4/bin/hadoop fs -copyFromLocal /content/ml-100k_folder/ml-100k/* ml-100k/

列表他们:

!/usr/local/hadoop-3.3.4/bin/hadoop fs -ls ml-100k


第9-安装依赖项以使用pythonð

我们可以安装依赖项以使用:

使用mapReduce

!pip install mrjob

我推荐了解更多有关mrjob的信息:https://mrjob.readthedocs.io/en/latest/


10- mananging temp文件夹ð¿

您可以在想要的任何地方创建。

我们创建一个临时文件夹以用于运行作业时使用:

!/usr/local/hadoop-3.3.4/bin/hadoop fs -mkdir file:///tmp

我们将权限分配给Temp文件夹:

!/usr/local/hadoop-3.3.4/bin/hadoop fs -mkdir file:///tmp

我们列出了temp文件夹的文件:

!/usr/local/hadoop-3.3.4/bin/hadoop fs -ls file:///tmp


第11-创建与MRJOB一起使用Pythonð使用的过程

要在Python中创建作业,您必须看到数据集的结构以配置作业。
在这种情况下,数据集就像:

!head /content/ml-100k/u.data -n -10

我可以获取数据集的以下信息:

  • 第一列参考用户ID。
  • 第二列引用了Movieid。
  • 第三列参考评级。
  • 第四列引用时间戳。
%%writefile RatingBreakdown.py
# import modules
from mrjob.job import MRJob
from mrjob.step import MRStep

# create class inhereted from MRJob
class RatingBreakdown(MRJob):
  # assign steps, first mapper last reducer
  def steps(self):
    return [
            MRStep(mapper=self.mapper_get_rating,
                   reducer=self.reducer_count_ratings)
    ]

  # creating mapper, assigning attributes from dataset
  def mapper_get_rating(self, _, line):
    (userID, movieID, rating, timestamp) = line.split('\t')
    # assign like the key rating and assign each row value 1
    yield rating, 1

  # creating reducer, sum 
  def reducer_count_ratings(self, key, values):
    # in function of each key we sum values
    yield key, sum(values)

if __name__ == '__main__':
  RatingBreakdown.run()

12th-运行该过程ð

在这里,我们运行了指定一些参数的过程:

  • python文件程序!python RatingBreakdown.py
  • 在哪里.jar运行hadoop /usr/local/hadoop-3.3.4/share/hadoop/tools/lib/hadoop-streaming-3.3.4.jar
  • 临时文件和数据集file:///tmp /content/ml-100k/u.data

运行过程时,可能需要几分钟...
我跑了:

!python RatingBreakdown.py -r hadoop --hadoop-streaming-jar /usr/local/hadoop-3.3.4/share/hadoop/tools/lib/hadoop-streaming-3.3.4.jar --hadoop-tmp-dir file:///tmp /content/ml-100k/u.data


13-列表结果ð¥

我再次运行过程并将结果放在结果中。txt

!python RatingBreakdown.py /content/ml-100k_folder/ml-100k/u.data > results.txt

使用以下命令列出文件:

!cat results.txt


14-说谢谢,付出并分享是否有帮助/兴趣ððð


ð相关内容

您可以找到相关的帖子:

ðGoogle Collab

您可以在:

ðºYouTube

您可以在:

ð±− GitHub

您可以与我联系:

ð§ -LinkedIn