!
也想出现在这里? 联系我们
广告位

利用Java连接Hadoop进行编程(hadoop只支持java语言编程吗)

这篇文章主要介绍了利用Java连接Hadoop进行编程,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下!

实验环境

  • hadoop版本:3.3.2
  • jdk版本:1.8
  • hadoop安装系统:ubuntu18.04
  • 编程环境:IDEA
  • 编程主机:windows

实验内容

测试Java远程连接hadoop

创建maven工程,引入以下依赖:

虚拟机的/etc/hosts配置

利用Java连接Hadoop进行编程(hadoop只支持java语言编程吗)

hdfs-site.xml配置

利用Java连接Hadoop进行编程(hadoop只支持java语言编程吗)

core-site.xml配置

利用Java连接Hadoop进行编程(hadoop只支持java语言编程吗)

启动hadoop

sbin/start-dfs.sh

主机的hosts(C:\\Windows\\System32\\drivers\\etc)文件配置

利用Java连接Hadoop进行编程(hadoop只支持java语言编程吗)

尝试连接到虚拟机的hadoop并读取文件内容,这里我读取hdfs下的/root/iinput文件内容

利用Java连接Hadoop进行编程(hadoop只支持java语言编程吗)

Java代码:

运行结果:

利用Java连接Hadoop进行编程(hadoop只支持java语言编程吗)

编程实现一个类“MyFSDataInputStream”,该类继承“org.apache.hadoop.fs.FSDataInputStream\",要求如下: ①实现按行读取HDFS中指定文件的方法”readLine()“,如果读到文件末尾,则返回为空,否则返回文件一行的文本

思路:emmm我的思路比较简单,只适用于该要求,仅作参考。将所有的数据读取出来存储起来,然后根据换行符进行拆分,将拆分的字符串数组存储起来,用于readline返回

Java代码

测试类:

运行结果:

利用Java连接Hadoop进行编程(hadoop只支持java语言编程吗)

②实现缓存功能,即利用”MyFSDataInputStream“读取若干字节数据时,首先查找缓存,如果缓存中有所需要数据,则直接由缓存提供,否则从HDFS中读取数据

给TA打赏
共{{data.count}}人
人已打赏
编程技术

Python+OpenCV实现图像识别替换功能详解(python opencv图像二值化)

2022-9-3 17:31:23

编程技术

Vuex中状态管理器的使用详解(vue 状态管理)

2022-9-3 17:31:54

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 admin@s9h.cn 或点击右侧 私信:少羽 反馈,我们将尽快处理。
0 条回复A文章作者M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索