HBase中怎么把数据写到HDFS文件中
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要讲解了"HBase中怎么把数据写到HDFS文件中",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"HBase中怎么把数据写到HDFS文件中"吧
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
安溪招聘软件开发
株洲软件开发团队
服务器安全规则组配置
信息网络安全监察大队
服务器管理器的设置
服务器 当pc
苏州海航软件开发创新服务
国家网络安全长城
专业警察网络安全
网络安全运行工作制度
数据库编程语言有哪些
app安全加固服务器
服务器安装后开不了机
mysql查询外键数据库
博图opc服务器不显示用户名
理想网络技术有限公司
省林业设计院网络安全设计方案
工业用数据库软件
软件开发逆向破解论坛
全文数据库和数值数据库
华为云dba数据库
远程服务器维护使用什么手段
数据库批量上传到前端
2k22服务器垃圾
网络安全黑板字体
番禺网络安全服务公司
轨道交通 网络安全 项目
永久免费服务器申请
网络安全准入系统作用大吗
蚌埠医院软件开发定制公司