成都网站建设设计

将想法与焦点和您一起共享

怎么往Hbase表添加测试数据

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

目前成都创新互联已为1000多家的企业提供了网站建设、域名、雅安服务器托管网站运营、企业网站设计、林周网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

创建一张表,往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表添加测试数据”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站题目:怎么往Hbase表添加测试数据
URL链接:http://chengdu.cdxwcx.cn/article/gigejp.html