首页 > 其他分享 >大数据开发基础

大数据开发基础

时间:2023-09-20 16:15:04浏览次数:33  
标签:HDFS 文件 基础 hadoop 开发 user input 数据 目录

参考:西瓜书!

说白了就是机器学习!

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/

标签:HDFS,文件,基础,hadoop,开发,user,input,数据,目录
From: https://www.cnblogs.com/Lovi/p/17717527.html

相关文章

  • Mysql中如何批量更新数据库中某个字段值中的部分内容;
    在平时的开发过程中,偶尔会遇到需要批量更新数据库中某个字段值的部分内容,比如某个字段存储的是图片的URL路径,这个路径中的域名无法访问了,需要更新为另一个ip地址。Mysql中提供了REPLACE函数:可以使用了REPLACE函数来替换原来字段中的一部分数据为新值。UPDATEcar_data_hisSETc......
  • 记一次跨服务器的文件下载功能开发
    1、背景:有这样一个需求,就是目前在OA系统的所有请求都会打到A服务器上,A服务器作为OA系统的门户服务,但是现在有个独立的文件备份服务,也想通过A服务器来让OA系统调用,里边包括了下载文件的功能,此时比如把文件备份服务部署到B服务器上,需要下载的文件也在B服务器上,文件备份服务提供了......
  • 海量数据处理分析
    笔者在实际工作中,有幸接触到海量的数据处理问题,对其进行处理是一项艰巨而复杂的任务。原因有以下几个方面:一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至过亿,那不是手工......
  • Avalonia开发(二)项目结构解析
    一、前言在Avalonia开发(一)环境搭建文章中介绍了Avalonia的介绍、开发环境的搭建、项目创建,以及项目FirstAvaloniaApp项目结构的介绍。本篇文章将介绍各平台的项目介绍。二、Desktop项目结构FirstAvaloniaApp.Desktop项目中默认生成的只有两个文件:Program.cs和app.manifest(程......
  • Wireshark RTP包中提取H264和H265视频数据
    wireshark提取视频数据之RTP包中提取H264和H265https://blog.csdn.net/jingjiankai5228/article/details/130477949Linux里截取网络包并解析成H.264https://blog.csdn.net/qq_38750519/article/details/121969721 H264extractorhttps://github.com/volvet/h264extractor ......
  • java数据库连接池介绍与例子
    一、连接池原理及介绍:   数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能......
  • struts2.1.8.1+jquery1.4.2返回json数据
    1、引入包(本文中的包全部引自struts-2.1.8.1\lib):struts2-json-plugin-2.1.8.1.jarjson-lib-2.1.jarcommons-collections-3.2.jarcommons-beanutils-1.7.0.jarcommons-lang-2.3.jarcommons-logging-1.0.4.jarezmorph-1.0.3.jar这7个包是返回json形式的数据必须的。因为jso......
  • pytest测试框架中数据分离以及测试用例参数化
    在进行测试自动化过程中,一个重要的最佳实践就是实现测试脚本和测试数据的分离。本文将涉及2个主题,一个是在pytest中如何实现测试用例脚本数据的分离,测试用例如何读入测试数据;二是在pytest中如何实现测试用例参数化。这两点是有区别的,如下图:flowchartLRTC[测试脚本]-->|读取外......
  • mysql数据库服务主从搭建
    mysql数据库服务主从搭建1、搭建两台数据库服务环境,master,slave数据库搭建参考:https://www.cnblogs.com/zuouncle/p/17713806.html2、查看服务运行状态systemctlstatusmysqld 如果显示以下内容就关闭mysql服务重新启动 3、主库(master)配置配置mysql的启动配置......
  • RK3568开发板SG90 舵机模块的功能实现-迅为电子
     1模块说明SG90舵机模块如下图所示:   常见的舵机转向角度有0-90度,0-180度,0-360度,可以用在垃圾桶项目开盖用,智能小车的全比例转向,摄像头云台,机械臂等。 2接线说明SG90舵机模块上三条线,三条线定义如下:棕线:GND红线:VCC4.8V-7.2V黄线:脉冲输入 3程序测试......