千家信息网

怎么往Hbase表添加测试数据

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本篇内容介绍了"怎么往Hbase表添加测试数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建一张
千家信息网最后更新 2025年01月28日怎么往Hbase表添加测试数据

本篇内容介绍了"怎么往Hbase表添加测试数据"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创建一张表,往Hbase表添加测试数据,然后将数据写入HDFS文件。

public class HBaseAndMapReduce1 {        public static void main(String[] args) throws Exception {                //测试数据                testData();                                System.exit(run());        }                public static int run() throws IOException, ClassNotFoundException, InterruptedException{                                //初始化HBase配置                Configuration conf = new Configuration();                conf = HBaseConfiguration.create(conf);                conf.set("hbase.zookeeper.quorum", "192.168.226.129");                Job job = Job.getInstance(conf,"searchPerson");                job.setJarByClass(HBaseAndMapReduce1.class);                //实例化scan对象。                Scan scan = new Scan();                //限定列,只读取关键数据,比如:article,author                scan.addColumn(Bytes.toBytes("article"), Bytes.toBytes("tags"));                scan.addColumn(Bytes.toBytes("author"), Bytes.toBytes("nickname"));                                /**                 * 参照源码如下:                 * TableMapper //对输出hbase数据来格式分割的处理类                  *  public static void initTableMapperJob(String table, Scan scan,                 *               Class mapper,                 *               Class outputKeyClass,                 *               Class outputValueClass, Job job) throws IOException {                 *       initTableMapperJob(table, scan, mapper, outputKeyClass, outputValueClass,job, true);                 *  }                 * */                /**                 * Result类中有个静态方法getFamilyMap()可以获得以列名为key,值为value,这刚好与hadoop中map结果是一样的。                 *                  */                TableMapReduceUtil.initTableMapperJob( "blog",scan, FindFriendMapper.class,                                 ImmutableBytesWritable.class,  Result.class, job);                                DateFormat df = new SimpleDateFormat( "yyyyMMddHHmmssS" );                FileOutputFormat.setOutputPath(job, new Path("hdfs://192.168.226.129:9000/hbasemapreduce/" + df.format( new Date() )+"/"));                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 {                        //System.out.println("key-->" + Bytes.toString(key.get()) + "---> " + key );                        /*                         * Cell (存储单元)                         * 由{row key, column(= + 

"怎么往Hbase表添加测试数据"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0