今天搞了个通过hdfs mapper读取文件插入到hbase表的简单实例,在这里记录一下,如下:
java代码(File2HBase1.java):
package com.lyq.study.example; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.hadoop.hbase.mapreduce.TableOutputFormat; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; public class File2HBase1 { public static class MapperClass extends Mapper<LongWritable, Text, ImmutableBytesWritable, Put> { //列名 public static final String[] COLUMNS = { "card", "type", "amount", "time", "many" }; public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String[] cloumnVals = value.toString().split(","); String rowkey = cloumnVals[0] + cloumnVals[3]; Put put = new Put(rowkey.getBytes()); for (int i = 0; i < cloumnVals.length; i++) { put.add("info".getBytes(), COLUMNS[i].getBytes(), cloumnVals[i].getBytes()); } context.write(new ImmutableBytesWritable(rowkey.getBytes()), put); } } @SuppressWarnings("deprecation") public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException { Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://ubuntu:9000/"); conf.set("mapreduce.framework.name", "local"); conf.set("mapred.job.tracker", "ubuntu:9001"); conf.set("hbase.zookeeper.quorum", "ubuntu"); Job job = new Job(conf,"file2hbase"); job.setJarByClass(File2HBase1.class); job.setMapperClass(MapperClass.class); job.setNumReduceTasks(0); job.setOutputFormatClass(TableOutputFormat.class); job.getConfiguration().set(TableOutputFormat.OUTPUT_TABLE, "testtable1"); FileInputFormat.addInputPath(job, new Path("hdfs://ubuntu:9000/test/input/data.txt")); System.out.println(job.waitForCompletion(true) ? 0 : 1); } }
hbase创建表语气是:create 'testtable1','info'
data.txt的内容如下:
6222020405006,typeA,100000,201408081225,2000
6222020405006,typeA,100000,201408112351,1000
6222020405006,typeA,100000,201408140739,4000
6222020405008,typeB,50000,201408150932,5000
6222020405009,typeC,30000,201408181212,10000
相关推荐
介绍了大数据平台如何将hdfs中的分布式文件导入hbase 。源代码在cloudera-SCM 的cdh 4.8.1产品环境中验证通过。
从HDFS中读文件,用groupby进行sort,然后写入Hbase中
相关博客:使用JAVA将Hadoop HDFS中的日志文件导入HBase中(一) 地址:http://blog.csdn.net/ltliyue/article/details/51290899
java操作Hbase之从Hbase中读取数据写入hdfs中源码,附带全部所需jar包,欢迎下载学习。
主要介绍了hdfs优缺点,存储策略,还有读写原理,以及hbase一些简单介绍
对Hadoop中的HDFS、MapReduce、Hbase系列知识的介绍。如果想初略了解Hadoop 可下载观看
hdfs读取文件详细流程,绝对真实!
基于Hadoop生态框架,使用hdfs存储系统资料,Hbase划分数据信息,系统针对司机、用户、管理员设计了不同的系统操作功能和交互页面 - -------- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设...
本文档是关于hadoop中HDFS的文件读写操作的一份ppt,适用于学习hadoop新手.
Hadoop-0.20.0-HDFS+MapReduce+Hive+HBase十分钟快速入门
3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java 网址:...
通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心。通过这一阶段的调研总结,从内部机理的...
hdfs文件的查看 hdfs fs -cat /文件名
HDFS读写数据流程描述,脑图展示,易于理解与记忆,仅供学习使用。HDFS分布式文件系统是一个主从架构,主节点是NameNode,负责管理整个集群以及维护集群的元数据信息;从节点是DataNode,主要负责文件数据存储。
上传文件到HDFS的java代码实现。已经测试了,可以直接运行。
主要介绍了Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
第三章 分布式文件系统HDFS3 Hadoop存储系统HDFS的文件是分块存储,每个文件块默认大小为32MB。 T F 评测结果:答案正确(5 分) 1-2 HDFS系统采用NameNode定期向DataNode发送心跳消息,用于检测系统是否正常运行...
mapreduce方式入库hbase hive hdfs,速度很快,里面详细讲述了代码的编写过程,值得下载
讲解HDFS小文件处理方案方法
解压后包含三个资源,分别是hadoop.dll、hadoop-2.7.3.zip、winutils.exe。对应springboot整合hbase文章中解决windows系统下项目启动不了的问题。