使用hadoop工具将数据分析出来以后,须要做入库处理或者存到缓存中。不然就没了意义

一下是使用javaAPI操作hdfs存入缓存的代码:

<span style="font-family:Microsoft YaHei;font-size:14px;">public class InterestToRedisJob {

	FileSystem hdfs = null;

	public InterestToRedisJob(){
init();
} private void init(){
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs地址");
try {
hdfs = FileSystem.get(conf);
} catch (IOException e) {
e.printStackTrace();
}
} public void ReadFileToReids(String path) throws IOException{
Path paths = new Path(path);
FileStatus[] files = hdfs.listStatus(paths);</span>
<span style="font-family:Microsoft YaHei;font-size:14px;"><span style="white-space:pre">		</span>//这儿是自己实现的一个路径顾虑器,也可不适用,在【1】处直接推断part-r-等标示</span>
<span style="font-family:Microsoft YaHei;font-size:14px;">		PathFilter filter = new ResultNameFilter("part-r-");
Text line = new Text();
RedisClient redis = new RedisClient();
for(FileStatus file:files){
if(file.isDir() || !filter.accept(file.getPath())){//【1】
continue;
}else{
FSDataInputStream input = null;
try{
input = hdfs.open(file.getPath());
LineReader reader = new LineReader(input);
while(reader.readLine(line) > 0){
System.out.println(line);
String[] arr = line.toString().split("\t");</span>
<span style="font-family:Microsoft YaHei;font-size:14px;"><span style="white-space:pre">						</span>//做存入redis处理
redis.saveHsetValue(arr[0], "interest", arr[1]);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(input != null){
input.close();
}
}
}
}
} public static void main(String[] args) {
InterestToRedisJob job = new InterestToRedisJob();
try {
job.ReadFileToReids("你的path");
} catch (IOException e) {
e.printStackTrace();
}
}
}</span>

上面代码须要改动后使用,请勿直接粘贴。

java操作hdfs到数据库或者缓存的更多相关文章

  1. hadoop集群配置和在windows系统上运用java操作hdfs

    安装 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介绍hadoop集群配置和在windows系统上运用java操作hdfs 安装 http://mirror.bit. ...

  2. hadoop学习(三)HDFS常用命令以及java操作HDFS

    一.HDFS的常用命令 1.查看根目录下的信息:./hadoop dfs -ls 2.查看根目录下的in目录中的内容:./hadoop dfs -ls in或者./hadoop dfs -ls ./i ...

  3. java操作hdfs实例

    环境:window7+eclipse+vmware虚拟机+搭建好的hadoop环境(master.slave01.slave02) 内容:主要是在windows环境下,利用eclipse如何来操作hd ...

  4. 使用java操作HDFS

    新建Java Project; 1,右击项目,属性,Java Build Path,Libraries,Add External JARs(haddopp根目录下的所以jar): 2,做一下项目关联, ...

  5. java 操作sqllite的数据库

    介绍 sqllite是一个小型数据库,不依赖于数据库服务器,操作它可以像操作本地的文本文件一样.在Android中是用来存储数据到本地的,java中可能也会有用到sqllite需要. 详细 sqlli ...

  6. JAVA 操作 DBF 文件数据库

    1.依赖夹包 javadbf-[].4.1.jar jconn3.jar 2.添加属性文件 jdbc.properties jdbc.driverClassName=com.sybase.jdbc3. ...

  7. hadoop3自学入门笔记(3)-java 操作hdfs

    1.core-site.xml <configuration> <property> <name>fs.defaultFS</name> <val ...

  8. Java操作HDFS代码样例

    代码在GitHub上. 包括如下几种样例代码: 新建文件夹 删除文件/文件夹 重命名文件/文件夹 查看指定路径下的所有文件 新建文件 读文件 写文件 下载文件至本地 上传本地文件 https://gi ...

  9. JAVA 操作远程mysql数据库实现单表增删改查操作

    package MysqlTest; import java.sql.DriverManager; import java.sql.ResultSet; import com.mysql.jdbc.C ...

随机推荐

  1. extjs 动态设定 DateField 最大值 最小值

    yxrqDate.minValue = new Date();yxrqDate.maxValue = new Date(9000,1,1);yxrqDate.validate(); //var pic ...

  2. Oracle存储过程update受外键约束的主键值时完整性冲突解决方式

    1.问题背景 尽管在数据库操作中我们并不提倡改动主键,可是确实在实际生活中有这种业务需求: 表A有主键KA,表B中声明了一个references A(KA)的外键约束.我们须要改动A中某条目KA的值而 ...

  3. 利用localStorage实现对ueditor编辑内容定时保存为草稿

    直接看代码吧 1.引入ueditor和ueditor的使用我就不细说了 详情请戳http://blog.csdn.net/wangdianyong/article/details/39780709 2 ...

  4. 算法:插入排序(Insertion Sort)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. bat薪酬

    三大互联网巨头公司,百度腾讯跟阿里如何划分级别?薪资待遇又有多少?除非身居其位,否则很难探知,但是等你到那个位置知道了,却又不能说,至少不能在公 开场合谈论.接下来就为大家揭秘,百度.阿里与腾讯内部的 ...

  6. 第七章 JVM性能监控与故障处理工具(1)

    1.定位系统问题 依据 GC日志 堆转储快照(heapdump/hprof文件) 线程快照(threaddump/javacore文件) 运行日志 异常堆栈 分析依据的工具 jps:显示指定系统内的所 ...

  7. Eclipse上传代码到GitHub

    平时工作学习中难免会在Github搜索一下开源的Android代码, Android系统本身的代码就是托管在GitHub上,如果平时随手做了一个Demo,托管在云盘感觉不入流,如果平时自己一时兴起写了 ...

  8. Geolocation地理定位

    地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML5 地理位置定位的基本原理及各个 ...

  9. 【Qt】仿QQ表情选择控件

         表情选择控件在聊天应用中常常要用到,做起来尽管不复杂可是非常繁琐.特别是有些图标须要按顺序排列.每次重做必定是非常费时.所以我将聊天表情选择控件封装成一个独立的类QFaceSelectWid ...

  10. 使用泛型集合取代datatable作为返回值实现面向对象

    开会的时候,师父说.我们在机房重构时,尽量不要用datatable作为返回值.改用泛型集合的方式,这样能够实现真正的面向对象. 通过查资料和同学交流,把这个问题给攻克了. 对于泛型集合.我也有了一些认 ...