大数据开发基础

参考:西瓜书!

说白了就是机器学习!

https://www.bilibili.com/video/BV1PN4y1V7d9/?spm_id_from=333.337.search-card.all.click&vd_source=73cf57eb7e9ae1ddd81e6b44cf95dbeb

就是我发现,大数据相关的,基本都要结合python还有机器学习,数据挖掘那些!

很好的案例!纸牌屋!

一个很好看的美剧!就是拍的很好!

大数据与云计算和物联网。(最新的三个技术!)

可以关注一下第一章的习题!

(其实就在学习通我下载下来的资料里)

提前预习一下第二章的课件,因为下一张需要把电脑带过来

也需要把,实验给下载下来,其实最好就是学习通的资料都下载下来

那个实验,就是,详细的把hadoop的安装过程给弄好了。

做个单词出现次数的java程序,需要用到hadoop

bug: import 的 hadoop爆红

这是已经解决的。

image-20230324183701852

具体解决方法是,idea导入依赖的时候,不能直接点击导入目录,而是目录内部具体的依赖!

也就是,目录下有依赖的话,得进去目录里边选

就像这样

image-20230324183827491

即可解决。

将hadoop添加到系统路径 (配置hadoop的环境变量)

安装好hadoop之后,在任意位置直接打hadoop version没有出来版本,就是没有配置环境变量了

方法如下:

  • Linux:
    1. 打开终端并输入以下命令:sudo nano /etc/profile

      1. 这里nano保存按ctrl+s,退出按ctrl+x
    2. 在文件末尾添加以下行:export PATH=$PATH:/path/to/hadoop/bin

      1. 例如,如果您将hadoop安装在"/usr/local/hadoop"目录下,则应将其替换为"/usr/local/hadoop/bin”
      2. 如果忘了自己hadoop的安装目录可以这样
        1. 您可以通过以下命令来查看hadoop的安装路径:echo $HADOOP_HOME。如果您的hadoop已经安装并且环境变量已经设置,那么这个命令将会输出hadoop的安装路径。
    3. 保存并关闭文件。

    4. 输入以下命令以使更改生效:source /etc/profile

实验1

为了安装hadoop本地库

我执行了一下操作

非常抱歉,我之前给你的链接是错误的。以下是正确的步骤:1)下载最新的zlib或者lzo源码包,例如:wget https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz;2)解压缩源码包,例如:tar -zxvf zlib-1.2.11.tar.gz;3)进入解压后的目录,例如:cd zlib-1.2.11;4)执行以下命令:./configure && make && make install。

然后我发现经常中断,

结果是我没有安装gcc库,安装好之后还有安装make。接着需要su root 然后就成功执行了“./configure && make && make install”

linux系统ubuntu的find命令

sudo find / -name "core-site.xml"

实验2

启动hadoop

cd /usr/local/hadoop
./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空

在Hadoop中,数据通常存储在HDFS中(或其他外部数据存储)。因此,对于Job中的输入路径,需要指向HDFS中的文件或目录。

如果你有一个文件或目录存在本地文件系统中,你需要将它们上传到HDFS中,然后才能在Job中使用 FileInputFormat 添加输入路径。

以下是一个Hadoop文件系统和本地文件系统之间文件拷贝上传下载的指令:

  • 将从本地文件系统拷贝文件到HDFS中:
hadoop fs -put /path/to/local/file /path/to/hdfs
  • 将从HDFS中拷贝文件到本地文件系统中:
hadoop fs -get /path/to/hdfs /path/to/local/file

因此,如果你要在Job中使用本地路径作为输入路径,需要将本地文件或目录上传到HDFS中,然后使用HDFS的绝对路径来设置输入路径。

你可以按照以下步骤将本地文件上传到HDFS中:

hadoop fs -mkdir /user/hadoop/input # 如果 /user/hadoop/input 目录不存在,则创建该目录
hadoop fs -put /path/to/local/file /user/hadoop/input # 上传本地文件到 HDFS 的 /user/hadoop/input 目录

然后,将 MapReduce 程序中的 input 参数修改为 /user/hadoop/input,例如:

String[] otherArgs = new String[]{"/user/hadoop/input", "/user/hadoop/output"};

现在,你可以将修改后的程序提交到 Hadoop 集群中执行,它会读取 HDFS 中的 /user/hadoop/input 目录中的文件进行处理,并将输出写入到 /user/hadoop/output 目录中。

  • 使用以下命令在 HDFS 上删除已存在的输出目录:
hadoop fs -rm -r hdfs://localhost:9000/user/hadoop/output

bug:hadoop:未找到命令(在已经启动hadoop的情况下)

解决:source /etc/profile


  • 如果你想确认该文件是否已经存在于 HDFS 中,可以使用以下命令查看目标路径中的文件列表
hadoop fs -ls /user/hadoop/output
  • 将hdfs的文件下载到本机
hadoop fs -get /user/hadoop/output/part-r-00000 /home/hadoop/
posted @ 2023-09-20 15:58  Lovi*  阅读(15)  评论(0编辑  收藏  举报