HBase中怎么把数据写到HDFS文件中
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"HBase中怎么把数据写到HDFS文件中",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"HBase中怎么把数据写到HDFS文件中"吧
千家信息网最后更新 2025年12月03日HBase中怎么把数据写到HDFS文件中
这篇文章主要讲解了"HBase中怎么把数据写到HDFS文件中",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"HBase中怎么把数据写到HDFS文件中"吧!
从HBase中选定某张表,比如blog,然后限定表中的某些列,比如昵称nickname,标签tags,将这些列的数据内容写入到HDFS文件中去。
/** * 选定HBase中的某张表,限定列,然后将其内容数据写入到HDFS文件中。 * */public class HBaseAndMapReduce2 { public static void main(String[] args) throws Exception { System.exit(run()); } public static int run() throws Exception { Configuration conf = new Configuration(); conf = HBaseConfiguration.create(conf); conf.set("hbase.zookeeper.quorum", "192.168.226.129"); Job job = Job.getInstance(conf, "findFriend"); job.setJarByClass(HBaseAndMapReduce2.class); Scan scan = new Scan(); //取对业务有用的数据 tags, nickname scan.addColumn(Bytes.toBytes("article"), Bytes.toBytes("tags")); scan.addColumn(Bytes.toBytes("author"), Bytes.toBytes("nickname")); //ImmutableBytesWritable来自hbase数据的类型 /** * public static void initTableMapperJob(String table, Scan scan, * Class extends TableMapper> mapper, * Class> outputKeyClass, * Class> outputValueClass, Job job) * */ //确保 blog 表存在, 且表结构与本文一样。 TableMapReduceUtil.initTableMapperJob("blog", scan, FindFriendMapper.class, Text.class, Text.class, job); DateFormat df = new SimpleDateFormat( "yyyyMMddHHmmssS" ); FileOutputFormat.setOutputPath(job, new Path("hdfs://192.168.226.129:9000/hbasemapreduce1/" +df.format( new Date() ))); job.setReducerClass(FindFriendReducer.class); return job.waitForCompletion(true) ? 0 : 1; } // 输入输出的键值 public static class FindFriendMapper extends TableMapper{ //key是hbase中的行键 //value是hbase中的所行键的所有数据 @Override protected void map( ImmutableBytesWritable key, Result value, Mapper.Context context) throws IOException, InterruptedException { Text v = null; String[] kStrs = null; List cs = value.listCells(); for (Cell cell : cs) { System.out.println( "Cell--->: "+cell ); if ("tags".equals(Bytes.toString(CellUtil.cloneQualifier(cell)))){ kStrs = Bytes.toString(CellUtil.cloneValue(cell)).split(","); }else if ("nickname".equals(Bytes.toString(CellUtil.cloneQualifier(cell)))){ v = new Text(CellUtil.cloneValue(cell)); } } for (String kStr : kStrs) { context.write(new Text(kStr.toLowerCase()), v); } } } public static class FindFriendReducer extends Reducer{ @Override protected void reduce(Text key, Iterable values, Reducer.Context context) throws IOException, InterruptedException { System.out.println( "key--->"+key); StringBuilder sb = new StringBuilder(); for (Text text : values) { System.out.println( "value-->"+text); sb.append((sb.length() > 0 ? ",":"") + text.toString()); } context.write(key, new Text(sb.toString())); } }} | 输出结构:
hadoop Berg-OSChina,BergBerghbase OSChina,BergBergzookeeper OSChina,BergBerg
感谢各位的阅读,以上就是"HBase中怎么把数据写到HDFS文件中"的内容了,经过本文的学习后,相信大家对HBase中怎么把数据写到HDFS文件中这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
数据
文件
内容
学习
结构
输出
业务
就是
思路
情况
文章
昵称
更多
有用
标签
知识
知识点
篇文章
类型
跟着
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
kpl比赛服务器是几tick
网络安全红蓝对抗如何参加
ctf网络安全大赛楚慧杯
学网络安全在网上能赚钱吗
vm虚拟机做服务器
文山市公安局网络安全大队陈健
外国互联网高科技
互传备份其他手机数据库
网络安全与社会安全论坛
苏州电子网络技术参考价格
网络安全员工作现场
怀柔区正规软件开发专业服务
服务器cpu视频处理
万方数据库可以获取哪些信息
无锡个人软件开发活动方案
特勤网络安全心得体会
数据库综合的基本问题
最新的网络安全法律
12年惠普服务器
省委网络安全部门
曙光八路服务器
邢台软件开发五星服务
沈阳推理服务器怎么选择
湖南潮流软件开发标准
昌平区网络技术信息热线
青年突击对网络安全领域
国家网络安全周活动的总结
口腔医院网络安全管理制度
黄浦区创新数据库服务商前景
山东网络安全法律法规