本篇內(nèi)容介紹了“怎么往Hbase表添加測(cè)試數(shù)據(jù)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
目前成都創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、林周網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
創(chuàng)建一張表,往Hbase表添加測(cè)試數(shù)據(jù),然后將數(shù)據(jù)寫(xiě)入HDFS文件。
public class HBaseAndMapReduce1 {
public static void main(String[] args) throws Exception {
//測(cè)試數(shù)據(jù)
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);
//實(shí)例化scan對(duì)象。
Scan scan = new Scan();
//限定列,只讀取關(guān)鍵數(shù)據(jù),比如:article,author
scan.addColumn(Bytes.toBytes("article"), Bytes.toBytes("tags"));
scan.addColumn(Bytes.toBytes("author"), Bytes.toBytes("nickname"));
/**
* 參照源碼如下:
* TableMapper //對(duì)輸出hbase數(shù)據(jù)來(lái)格式分割的處理類(lèi)
* public static void initTableMapperJob(String table, Scan scan,
* Class extends TableMapper> mapper,
* Class> outputKeyClass,
* Class> outputValueClass, Job job) throws IOException {
* initTableMapperJob(table, scan, mapper, outputKeyClass, outputValueClass,job, true);
* }
* */
/**
* Result類(lèi)中有個(gè)靜態(tài)方法getFamilyMap()可以獲得以列名為key,值為value,這剛好與hadoop中map結(jié)果是一樣的。
*
*/
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中的所行鍵的所有數(shù)據(jù)
@Override
protected void map(ImmutableBytesWritable key,Result value,
Mapper.Context context)
throws IOException, InterruptedException {
//System.out.println("key-->" + Bytes.toString(key.get()) + "---> " + key );
/*
* Cell (存儲(chǔ)單元)
* 由{row key, column(= +
“怎么往Hbase表添加測(cè)試數(shù)據(jù)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
本文題目:怎么往Hbase表添加測(cè)試數(shù)據(jù)
標(biāo)題鏈接:
http://weahome.cn/article/gigejp.html