Spring集成Hadoop实践

2023-10-26

在Spring中集成Hadoop流程梳理:

(1)maven添加spring-data-hadoop依赖

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-hadoop</artifactId>
    <version>2.5.0.RELEASE</version>
</dependency>

(2)resources中的beans.xml定义命名空间

     从官网拷贝内容粘贴:

   https://docs.spring.io/spring-hadoop/docs/2.5.0.RELEASE/reference/html/springandhadoop-config.html

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:hdp="http://www.springframework.org/schema/hadoop"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/hadoop
        http://www.springframework.org/schema/hadoop/spring-hadoop.xsd
        http://www.springframework.org/schema/beans ">

    <hdp:configuration id="hadoopConfiguration">
        fs.defaultFS=hdfs://hadoop000:8020
    </hdp:configuration>
    <hdp:file-system id="fileSystem" configuration-ref="hadoopConfiguration" user="root"/>
</beans>


可变的地方放进文件中application.properties,比如:spring.hadoop.fsUri=fs.defaultFS=hdfs://hadoop000:8020

<hdp:configuration id="hadoopConfiguration>  
    ${spring.hadoop.fsUri}
</hdp:configuration>

<context:property-placeholder location="application.properties"/>

(3)fileSystem通过Spring注入进来,其他方式不变

使用Spring Hadoop访问HDFS系统
Test下创建spring包,创建springHadoopApp

private ApplicationContext ctx;
private FileSystem fileSystem;

setup()
{
   ctx = new ClassPathXmlApplicationContext("beans.xml");
   fileSystem = (FileSystem)ctx.getBean("fileSystem");
}
tearDown(){
   ctx = null;
}
//创建文件夹
public void testMkdir() throws Exception{
    fileSystem.mkdirs(new Path("/springhdfs/"));
}

//读取hdfs文件内容
public void testCat() throws Exception{
    FSDataInputStream in = fileSystem.open(new Path("/springhdfs/hello.txt"));
    IOUtiles.copyBytes(in,System.out,1024);
    in.close();
}

另附:Springboot访问HDFS

(1)添加依赖

<dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-hadoop-boot</artifactId>
      <version>2.5.0.RELEASE-hadoop25</version>
 </dependency>

(2)注入FsShell

@SpringBootApplication
public class springBootHDFSApp implements CommandLineRunner

@Autowired
FsShell fsShell;//有很多方法

public void run(String... strings) throws Exception{
    for(FileStatus fileStatus:fsShell.lsr("/springhdfs")){
        //打印
    }
}

public static void main(String[] args){
    SpringApplication.run(SpringBootHDFSApp.class,args);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring集成Hadoop实践 的相关文章

随机推荐

  • IAR编译器问题的总结

    之前做项目都是用keil编译器比较多 也基本上用得很顺手 但是最近又开始用IAR编译器 结果这次真是被它折磨得快要崩溃 现在把问题总结如下 IAR编译器版本 IAR2 10 4 IAR编译器默认的优化设置一定要注意 这个是之前做的一个项目
  • Kotlin协程源码简单聊一聊,浅浅看看表层

    今日科技快讯 近日 经历了一次停办 两次规模严重缩水之后 2023年世界移动通信大会 MWC 终于再现往日盛况 有来自200多个国家和地区的2000多家厂商参加 并在此次展会上发布了最新的产品与科技 仅中国就有100余家厂商参展 每年的MW
  • 详解前端性能优化之原生JS实现图片懒加载效果(通过IntersectionObserver内置构造函数实现)

    相信你作为一名用户 使用一款app 在首次打开页面时卡顿超过3秒时就会有退出的想法 所以我们在日常开发中 通常需要使用一些手段实现对性能的优化 来使得页面加载更快 用户体验更好 这其中有许多方式 其中最常用的无非是按需加载了 今天就带大家重
  • 硬盘配置raid5时碰见unconfiguration bad问题记录

    环境 长城服务器 昆仑bios 问题描述 系统装了四个SSD盘 但在BIOS配置raid的 Driver Manager 驱动识别界面中四块硬盘中的三块都是坏的 显示unconfiguration bad 并且在后面的raid配置界面中识别
  • MES系统质量追溯功能,到底在追什么?

    今天我们就来分析一下生产企业的产品质量追溯问题 以及MES系统中产品追溯的应用 我们知道 生产质量管理是MES系统中十分重要的一部分 因为长期以来 车间质量管理部门希望车间的加工水平持续保持在最佳状态 对加工过程产生的质量问题能得到及时的发
  • 河北某日报移动端python数据采集 eds加密新闻内容

    写在最前面 此移动端采用EDS 的js加密 核心的js加密代码 贴在 个人爱好尝试破解 仅提供技术交流用 目标地址 抓取的详情页地址 var e 4Qjir8b019EIXH0FBzIJIuElne7uRYd6AB7qOIQg TdtJrw
  • Java日期计算溢出问题

    先看下面的代码 SimpleDateFormat fmt new SimpleDateFormat yyyy MM dd final Date beginDate fmt parse 2013 8 1 for int i 0 i lt 30
  • 【Docker】ERROR: Could not find a version that satisfies the requirement pytest==5.0.1

    1 背景 背景参考 Docker elasticsearch 监控工具 elasticsearch HQ lcc lcc soft es elasticsearch HQ 3 5 12 pip install r requirements
  • Java解决Oracle中ORA-12542:TNS无监听程序ORA-12542:TNS:监听程序无法识别连接符中请求的服务

    环境 WINDOWS2003 ORACLE 10G 第一次安装完ORACLE后使用SQLPLUS链接都是没问题的 但重启服务器就报了异常 ORA 12541 TNS 无监听程序 这里肯定是监听器出了问题 但没有做任何变动 只是重启了服务器
  • 音频特征(2):时域图、频谱图、语谱图(时频谱图)

    文章目录 时域和频域 1 概述 2 时域 波形和频域 用几张对比图来区分 2 1 时域和频域 2 2 区分 时频谱图 语谱图 傅里叶变换的典型用途是将信号分解成频率谱 显示与频率对应的幅值大小 时域和频域 1 概述 1 什么是信号的时域和频
  • Zabbix实践(四) zabbix的通知推送解决方案

    zabbix 监控建立起来后 可以使用zabbix自带的推送接口 进行消息的推送 本节 说明一下采用OneAlert产品作为 zabbix的下游 进行消息推送 OneAlert 是一款集成了各种推送和接收消息的软件 个人版本免费 其他版本
  • TypeScript-初识

    引言 TypeScript 静态类检查器 提供了 JavaScript 的所有功能 并且在这些功能之上添加了一层 TypeScript 的类型系统 TypeScript 会在执行前检查程序是否有错误 并根据值的种类进行检查 一 定义属性 c
  • 分析压缩感知

    1 引言 信号采样是模拟的物理世界通向数字的信息世界之必备手段 多年来 指导信号采样的理论基础一直是着名的Nyquist 采样定理 定理指出 只有当采样速率达到信号带宽的两倍以上时 才能由采样信号精确重建原始信号 可见 带宽是Nyquist
  • 跳坑:由于找不到vcruntime140_1.dll,无法继续执行代码。重新安装程序可能会解决此问题。

    一 问题背景 在安装MySQL服务运行初始化命令时 出现弹窗报错 由于找不到vcruntime140 1 dll 无法继续执行代码 重新安装程序可能会解决此问题 二 原因分析 综合网上问答数据分析 此处报错原因时因为缺少了动态链接库 vcr
  • 使用Picgo自动上传本地图片教程(typora+gitee图床)

    使用Picgo自动上传本地图片教程 typora 注意 2022 3 25日起gitee不能用于图床了 gitee加了防盗链 所有图片的都访问不了了 大家请选择其他的图床存放图片 本文章配置gitee图床教程已不可用 获取Picgo 官网
  • 企业网三层架构

    文章目录 三层架构 WLAN 无线网络天生的缺陷 链路聚合技术 原理 ensp配置 VRRP 工作过程 配置 三层架构 园区 工厂 政府机关 写字楼 校园 公园等 这些公共场所内为实现数据的互通所搭建的网络都可以称为园区网 不同的园区网搭建
  • AI人体抠像之灰度图如何还原成原图——以Face++人体抠像为例

    Face 人体抠像API V1版本图片返回结果为灰度图 但是并不是可以直接用的结果 我们需要的是保留人体部分的像素数据 背景根据需要可以自由替换的 让我们来看看如何才能还原 原理 一 V1版本返回值可还原成灰度图 颜色只有黑白灰三种颜色 颜
  • 鸿蒙系统开源

    华为的鸿蒙系统可能一直是听说过没见过的系统 在今天也终于正式宣布开源了 鸿蒙系统托管在了国内的 Gitee 上 也就是码云上面 其地址如下 https openharmony gitee com 在它的托管主页上有一个项目介绍 我这里复制过
  • 华为笔试题:坐标移动

    include
  • Spring集成Hadoop实践

    在Spring中集成Hadoop流程梳理 1 maven添加spring data hadoop依赖