精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

HBase實戰(1):數據導入方式

數據庫
作為Hadoop生態系統中重要的一員, HBase作為分布式列式存儲, 在線實時處理的特性, 備受矚目, 將來能在很多應用場景, 取代傳統關系型數據庫的江湖地位. 本篇博文重點講解HBase的數據導入, 描述三種方式, Client API, Bulkload, 以及Hive Over HBase。

 *). Client API實現

借助HBase的Client API來導入, 是最簡易學的方式.

  1. Configuration config = HBaseConfiguration.create(); 
  2. // 配置hbase.zookeeper.quorum: 后接zookeeper集群的機器列表 
  3. config.set("hbase.zookeeper.quorum""tw-node109,tw-node110,tw-node111"); 
  4. // 配置hbase.zookeeper.property.clientPort: zookeeper集群的服務端口 
  5. config.set("hbase.zookeeper.property.clientPort""2181"); 
  6.   
  7. HTable htable = null
  8. try { 
  9.   // 配置hbase的具體表名 
  10.   htable = new HTable(config, "hbase_table"); 
  11.   // 設置rowkey的值 
  12.   Put put = new Put(Bytes.toBytes("rowkey:1001")); 
  13.   // 設置family:qualifier:value 
  14.   put.add(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value")); 
  15.   // 使用put類, 寫入hbase對應的表中 
  16.   htable.put(put); 
  17. } catch (Exception e) { 
  18.   e.printStackTrace(); 
  19. } finally { 
  20.   if (htable != null) { 
  21.     try { 
  22.       htable.close(); 
  23.     } catch (IOException e) { 
  24.       e.printStackTrace(); 
  25.     } 
  26.   } 

評: HBase的client api編程, 相對還是簡單的. 唯一需要注意的是, 若在本地編寫測試用列, 需要在本地配置hbase集群相關的域名, 使得域名和ip地址能對應上, 切記.
至于hbase client的讀寫優化, 我們放到下面的博文進行講解.

*). 批量導入Bulkload
HBase的bulkload數據導入, 分兩個階段:
#). 階段一: 借助使用HFileOutputFormat的MapReduce, 直接生成HBase的內部數據存儲格式HFile. 
其原理: HFileOutputFormat借助configureIncrementalLoad函數, 基于當前table的各個region邊界自動匹配MapReduce的分區類TotalOrderPartitioner, 這樣生成的HFile都對應一個具體的region, 此時效率最高效.
#). 階段二: 借助completebulkload工具, 將生成的HFile文件熱載入hbase集群.

1. importtsv數據導入演示
hbase自帶了importtsv工具, 其對tsv格式的數據文件提供了默認的支持.
數據文件data.tsv(以'\t'分割數據文件)

1
2
3
4
1001    lilei   17  13800001111
1002    lily    16  13800001112
1003    lucy    16  13800001113
1004    meimei  16  13800001114

上傳至hdfs目錄 /test/hbase/tsv/input

  1. sudo -u hdfs hdfs dfs -mkdir -p /test/hbase/tsv/input 
  2. sudo -u hdfs hdfs dfs -put data.tsv /test/hbase/tsv/input/ 

嘗試構建的HBase表student

  1. hbase shell 
  2. hbase> create 'student', {NAME => 'info'} 

執行importtsv

  1. sudo -u hdfs hadoop jar /usr/lib/hbase/hbase-<version>.jar importtsv -Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:age,info:phone -Dimporttsv.bulk.output=/test/hbase/tsv/output/ student /test/hbase/tsv/input  

沒有指定-Dimporttsv.bulk.output, importtsv默認行為是才有client api的put來導入數據于hbase, 指定-Dimporttsv.bulk.output, 則需要下一步

  1. sudo -u hdfs hadoop jar /usr/lib/hbase/hbase-<version>.jar completebulkload /test/hbase/tsv/output/ student 

數據驗證:
scan 'student', {LIMIT => 10}

2. 自定義bulkload數據導入演示
數據文件準備, 以之前data.tsv文件為準
構建HBase表student_new

  1. hbase> create 'student_new', {NAME => 'info'} 

編寫MapReduce代碼, 如下所示:

  1. public class MyBulkload { 
  2.   
  3.     public static class MyBulkMapper extends 
  4.             Mapper<LongWritable, Text, ImmutableBytesWritable, KeyValue> { 
  5.   
  6.         @Override 
  7.         protected void setup(Context context) throws IOException, 
  8.                 InterruptedException { 
  9.             super.setup(context); 
  10.         } 
  11.   
  12.         @Override 
  13.         protected void map(LongWritable key, Text value, Context context) 
  14.                 throws IOException, InterruptedException { 
  15.             // 數據按\t切分組織, 也可以自定義的方式來解析, 比如復雜的json/xml文本行 
  16.             String line = value.toString(); 
  17.             String[] terms = line.split("\t"); 
  18.             if ( terms.length == 4 ) { 
  19.                 byte[] rowkey = terms[0].getBytes(); 
  20.                 ImmutableBytesWritable imrowkey = new ImmutableBytesWritable(rowkey); 
  21.                 // 寫入context中, rowkey => keyvalue, 列族:列名  info:name, info:age, info:phone 
  22.                 context.write(imrowkey, new KeyValue(rowkey, Bytes.toBytes("info"), Bytes.toBytes("name"), Bytes.toBytes(terms[1]))); 
  23.                 context.write(imrowkey, new KeyValue(rowkey, Bytes.toBytes("info"), Bytes.toBytes("age"), Bytes.toBytes(terms[2]))); 
  24.                 context.write(imrowkey, new KeyValue(rowkey, Bytes.toBytes("info"), Bytes.toBytes("phone"), Bytes.toBytes(terms[3]))); 
  25.             } 
  26.         } 
  27.     } 
  28.   
  29.     public static void main(String[] args) throws Exception { 
  30.   
  31.         if ( args.length != 3 ) { 
  32.             System.err.println("Usage: MyBulkload <table_name> <data_input_path> <hfile_output_path>"); 
  33.             System.exit(2); 
  34.         } 
  35.         String tableName = args[0]; 
  36.         String inputPath = args[1]; 
  37.         String outputPathargs[2]; 
  38.   
  39.         // 創建的HTable實例用于, 用于獲取導入表的元信息, 包括region的key范圍劃分 
  40.         Configuration conf = HBaseConfiguration.create(); 
  41.         HTable table = new HTable(conf, tableName); 
  42.   
  43.         Job job = Job.getInstance(conf, "MyBulkload"); 
  44.           
  45.         job.setMapperClass(MyBulkMapper.class); 
  46.   
  47.         job.setJarByClass(MyBulkload.class); 
  48.         job.setInputFormatClass(TextInputFormat.class); 
  49.   
  50.         // 最重要的配置代碼, 需要重點分析 
  51.         HFileOutputFormat.configureIncrementalLoad(job, table); 
  52.   
  53.         FileInputFormat.addInputPath(job, new Path(inputPath)); 
  54.         FileOutputFormat.setOutputPath(job, new Path(outputPath)); 
  55.   
  56.         System.exit(job.waitForCompletion(true) ? 0 : 1); 
  57.           
  58.     } 
  59.   

注: 借助maven的assembly插件, 生成胖jar包(就是把依賴的zookeeper和hbase jar包都打到該MapReduce包中), 否則的話, 就需要用戶靜態配置, 在Hadoop的class中添加zookeeper和hbase的配置文件和相關jar包.

最終的jar包為 mybulk.jar, 主類名為com.m8zmyp.mmxf.MyBulkload, 生成HFile, 增量熱載入hbase

  1. sudo -u hdfs hadoop jar <xxoo>.jar <MainClass> <table_name> <data_input_path> <hfile_output_path> 
  2. hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles <hfile_output_path> <table_name> 

 

  1. sudo -u hdfs hadoop jar mybulk.jar com.m8zmyp.mmxf.MyBulkload student_new /test/hbase/tsv/input /test/hbase/tsv/new_output 
  2. hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /test/hbase/tsv/new_output student_new 

數據驗證:

  1. scan 'student_new', {LIMIT => 10} 

*). 借助Hive Over Hbase

構建Hbase表hbase_student

  1. hbase> create 'hbase_student', 'info' 

構建hive外表hive_student, 并對應hbase_student表

  1. CREATE EXTERNAL TABLE hive_student (rowkey string, name string, age int, phone string) 
  2. STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' 
  3. WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:name,info:age,info:phone"
  4. TBLPROPERTIES("hbase.table.name" = "hbase_student"); 

數據導入驗證:
1. 創建數據外表

  1. CREATE EXTERNAL TABLE data_student (rowkey string, name string, age int, phone string) 
  2. ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'  
  3. LOCATION '/test/hbase/tsv/input/'; 

2. 數據通過hive_student導入到hbase_student表中

  1. SET hive.hbase.bulk=true
  2. INSERT OVERWRITE TABLE hive_student SELECT rowkey, name, age, phone FROM data_student; 


備注: 若遇到java.lang.IllegalArgumentException: Property value must not be null異常, 需要hive-0.13.0及以上版本支持
詳見: https://issues.apache.org/jira/browse/HIVE-5515

原文鏈接:http://www.cnblogs.com/mumuxinfei/p/3823367.html

責任編輯:彭凡 來源: 博客園
相關推薦

2019-09-16 12:55:27

HBaseKafka數據

2010-05-27 18:30:56

MySQL 命令行導入

2020-12-02 08:43:00

Flink SQLHBase場景

2024-04-09 13:20:00

Excel數據庫數據

2018-09-04 12:03:31

HBase大數據存儲

2021-06-25 17:41:35

騰訊NTA

2019-05-05 09:03:06

HBase大數據存儲數據存儲

2010-05-19 15:01:14

MySQL數據導入

2013-05-16 10:07:42

固態硬盤RAID 0三星840 Pro

2012-09-27 10:21:00

2019-08-08 15:05:26

HBase數據遷移命令

2009-11-16 11:31:54

Oracle數據導入

2023-11-09 08:38:25

交叉表組件大數據

2020-07-08 13:46:25

Python數據分析預處理

2016-12-27 09:08:34

HBase數據流程

2018-10-29 13:07:15

HBase存儲遷移

2023-03-28 07:17:25

場景數據業務

2010-04-14 09:24:29

在Oracle數據庫

2023-02-18 18:26:11

隨著信息大爆炸,企業

2015-05-13 15:15:16

HadoopHBaseMapReduce
點贊
收藏

51CTO技術棧公眾號

人人妻人人澡人人爽人人欧美一区| 狠狠精品干练久久久无码中文字幕 | 亚洲 美腿 欧美 偷拍| 国产视频久久| 日韩视频―中文字幕| 亚洲综合123| 性国裸体高清亚洲| 国产精品福利一区二区三区| 99国产超薄丝袜足j在线观看| 国产一二三四五区| 日本在线一区二区三区| 午夜精品久久久久久久| 亚洲欧美影院| 亚洲人妻一区二区| 国产综合一区二区| 热99久久精品| 麻豆疯狂做受xxxx高潮视频| 免费不卡中文字幕在线| 日韩一级片网址| 久草福利视频在线| 交100部在线观看| 国产精品福利一区| 欧美三级网色| 少妇av在线播放| 国产精品一区二区三区网站| 国产精品va在线| 91精品国产乱码在线观看| 国产精品99久久久久久动医院| 9191成人精品久久| 成年人视频观看| 羞羞电影在线观看www| 中文一区二区完整视频在线观看| 国产精品入口免费视频一| 妺妺窝人体色www在线下载| 色天天久久综合婷婷女18| 国产婷婷色综合av蜜臀av| 亚洲欧美综合视频| 精品一区二区三区在线观看视频| 亚洲免费观看高清完整| 亚洲精品视频一区二区三区| 男同在线观看| 成人黄色小视频在线观看| 成人福利网站在线观看| 五月天中文字幕| 日韩精品色哟哟| 欧美专区在线播放| 中文字幕亚洲精品在线| 亚洲人妖在线| 91国自产精品中文字幕亚洲| 国产真人真事毛片| 亚洲五月婷婷| 欧美激情视频免费观看| 青青草手机在线观看| 影音先锋日韩精品| 蜜月aⅴ免费一区二区三区 | 精品网站999| 4438成人网| 特黄特黄一级片| 亚洲狼人在线| 日韩欧美国产三级| 韩国三级丰满少妇高潮| 视频二区欧美毛片免费观看| 欧美一级片在线看| 中文字幕一区二区三区四| 97久久精品一区二区三区的观看方式 | 国产美女精品久久久| 亚洲国产中文字幕在线| 成人毛片视频在线观看| 久久精品人人做人人爽电影| 色窝窝无码一区二区三区成人网站| 日本不卡视频一二三区| 国产91露脸中文字幕在线| 在线永久看片免费的视频| 老司机午夜精品视频| 国产精品视频在线观看| 91黄色在线视频| 国产成人在线影院| 久久国产精品99久久久久久丝袜| 国产精品永久久久久久久久久| 亚洲美女少妇无套啪啪呻吟| 97视频在线免费观看| 亚洲乱码国产乱码精品| 麻豆国产精品777777在线| 91在线视频精品| 天天干天天爽天天操| 99精品视频一区二区三区| 日本在线视频不卡| h片在线播放| 黄色一区二区在线观看| 天堂社区在线视频| 久久久精品区| 亚洲色图激情小说| 欧美大片xxxx| 亚洲一区国产一区| 国产精品普通话| 国产综合无码一区二区色蜜蜜| 国产中文字幕精品| 国产精品永久入口久久久| 猫咪在线永久网站| 亚洲免费在线看| 777米奇影视第四色| 97色婷婷成人综合在线观看| 亚洲激情 国产| 99成人在线观看| 亚洲影视综合| 444亚洲人体| 激情小视频在线观看| 一区二区免费看| 亚洲黄色小视频在线观看| 97一区二区国产好的精华液| 国产一区二区三区中文| 国产一级在线视频| 精品一区二区三区免费观看| 另类欧美小说| 免费电影视频在线看 | 日本五十熟hd丰满| 水蜜桃久久夜色精品一区的特点| 日本韩国欧美精品大片卡二| 国产精品一二三四五区| 久久久久久久免费视频了| 超级碰在线观看| 福利一区二区| 亚洲欧洲国产精品| 欧美国产在线看| 久久99精品国产麻豆婷婷洗澡| 91精品免费看| 精品视频一二区| 欧美日韩午夜剧场| 性农村xxxxx小树林| 青青草国产成人a∨下载安卓| 日韩中文在线中文网三级| 西西44rtwww国产精品| 国产美女久久久久| 大地资源第二页在线观看高清版| 欧美伦理免费在线| 7777精品伊人久久久大香线蕉完整版| 91欧美一区二区三区| 久久99蜜桃| 欧美在线视频一区二区| 亚洲aⅴ乱码精品成人区| 亚洲一区二区欧美日韩| 日本女人性视频| 99免费精品| 成人综合网网址| 午夜在线观看视频| 欧美日韩激情在线| 黄色裸体一级片| 激情五月婷婷综合| 黄频视频在线观看| 国产精品久久久久久久久久久久久久久 | www.avtt| 亚洲成人黄色| 欧美激情综合色综合啪啪五月| 91九色丨porny丨肉丝| 国产成人综合网站| av在线观看地址| 久久动漫网址| 人九九综合九九宗合| 精品亚洲成a人片在线观看| 色偷偷一区二区三区| 神马久久久久久久久久久| 日韩二区三区四区| 伊甸园精品99久久久久久| 国产一区二区三区视频在线| 久久69精品久久久久久国产越南| 黄色片视频免费| 欧美高清一级片在线观看| 亚洲欧美aaa| 欧美日韩国产高清| 久久99国产精品99久久| 欧美少妇精品| 中文字幕亚洲激情| 国产精品一区二区黑人巨大| 一区二区三区在线观看视频| 日本wwwwwww| 久久精品人人做人人爽电影蜜月| 国产乱码精品一区二区三区不卡| 伊人在线视频| 日韩一区二区三区视频在线| 日韩三级一区二区三区| 国产偷国产偷精品高清尤物| 91热这里只有精品| 欧美日韩精品免费观看视频完整| 成人激情电影一区二区| 男女视频在线| 亚洲欧美精品中文字幕在线| 一道本在线视频| 午夜亚洲国产au精品一区二区| 1314成人网| 性8sex亚洲区入口| 色中文字幕在线观看| 国产精品调教视频| 国产精品扒开腿做| 欧美aaaaaaa| 国产亚洲精品久久| 高清乱码毛片入口| 欧美日韩视频在线第一区 | 性刺激的欧美三级视频| 欧美国产专区| 日本福利一区二区三区| www 久久久| 国产mv免费观看入口亚洲| av在线看片| 一色桃子一区二区| 免费av网站观看| 在线不卡中文字幕| 青青视频在线免费观看| 一区二区三区不卡视频| 久久精品三级视频| 92国产精品观看| 色综合久久久无码中文字幕波多| 欧美韩国一区| 亚洲区一区二区三区| 日本欧美韩国国产| 亚洲最大成人免费视频| 欧美日韩尤物久久| 性色av一区二区三区在线观看| 黄色片一区二区三区| 欧洲一区二区三区免费视频| 日本一区二区不卡在线| 亚洲免费观看高清完整版在线观看 | 热re99久久精品国产99热| 综合久久成人| 91夜夜未满十八勿入爽爽影院| 成人在线观看亚洲| 亚洲免费精彩视频| 无码精品黑人一区二区三区 | 欧美黑人做爰爽爽爽| 91欧美精品成人综合在线观看| caopon在线免费视频| 中文字幕日韩在线播放| 久久伊伊香蕉| 日韩av在线看| 无套内谢的新婚少妇国语播放| 色婷婷综合激情| 91精品国产乱码在线观看| 亚洲黄色av一区| 欧美一区二区三区爽爽爽| 中文一区一区三区高中清不卡| 中国特级黄色片| 国产高清精品网站| 日本少妇xxx| 国产精品一区免费在线观看| 色婷婷.com| 狠狠色丁香九九婷婷综合五月| 欧美在线一区视频| 极品中文字幕一区| www.欧美黄色| 激情视频一区二区三区| 男女激情免费视频| 在线成人亚洲| 日本韩国欧美在线观看| 国产精品久久国产愉拍| 欧美韩国日本在线| 首页国产欧美久久| 特级丰满少妇一级| 久久精品国产亚洲一区二区三区 | 久久福利免费视频| 亚洲视频一二三区| 免费毛片在线播放免费 | 欧美精品一区在线发布| 亚洲精品动态| 秋霞在线观看一区二区三区| 欧美精品一区二区三区精品| 亚洲一区高清| 欧美三级不卡| 男人天堂1024| 免费不卡在线观看| 国产精品探花在线播放| 国产91在线|亚洲| 日韩av一二区| 国产精品丝袜久久久久久app| 国产老熟女伦老熟妇露脸| 26uuu国产电影一区二区| 日本黄色小视频在线观看| 亚洲天天做日日做天天谢日日欢| 国产特黄级aaaaa片免| 日本一区二区免费在线| 美国一级片在线观看| 亚洲一区成人在线| 久久国产乱子伦精品| 在线不卡的av| 婷婷在线观看视频| 中文字幕精品国产| 欧美日韩经典丝袜| 国产精品高潮呻吟久久av黑人| 久久av色综合| 日韩美女在线看| 国产高清精品二区| 蜜桃成人在线| 欧美在线精品一区| 成年人视频在线免费| 国产乱码精品一区二区三区av| 色综合色综合色综合色综合| 国产酒店精品激情| 国产精品久久久免费观看| 国产情人综合久久777777| 1024手机在线视频| 91国产免费观看| 亚洲国产综合一区| www.亚洲男人天堂| 在线天堂资源| 91久久国产自产拍夜夜嗨| 国产麻豆精品久久| 成人在线国产视频| 久久99精品久久久久婷婷| 性色av蜜臀av色欲av| 亚洲欧美日韩在线播放| 免费又黄又爽又猛大片午夜| 精品国产乱码久久久久久免费| 欧美视频xxx| 日韩在线观看精品| 精品欧美一区二区三区在线观看| 国产97在线观看| 精品欧美午夜寂寞影院| 亚洲一区二区三区加勒比| 国产农村妇女精品一二区| 无码人妻一区二区三区精品视频| 99re这里只有精品6| 激情综合五月网| 欧美狂野另类xxxxoooo| 国产高清在线| 97视频免费看| 99久久人爽人人添人人澡| 国产又粗又硬又长| 久久精品国产一区二区| 亚洲精品国产精品国自| 色婷婷av一区二区三区gif| 婷婷丁香一区二区三区| 久久久噜噜噜久久中文字免| 麻豆精品在线| 影音先锋成人资源网站| 黑人精品欧美一区二区蜜桃| 国产传媒在线看| 欧美性色综合网| 高清毛片在线看| 国产精品看片资源| 国产亚洲一区二区三区不卡| 欧洲av无码放荡人妇网站| wwwwww.欧美系列| 久久一区二区三区视频| 日韩高清免费观看| 综合久久2023| 欧洲成人一区二区| 天堂精品中文字幕在线| 亚洲av无码国产精品麻豆天美| 亚洲人123区| 亚洲怡红院av| 久久亚洲春色中文字幕| av在线精品| 日韩在线视频在线| 成人av网站在线观看免费| 日韩精品一区二区av| 日韩成人小视频| 欧美精品高清| 亚洲区一区二区三区| 国产一区二区三区久久久| 麻豆视频在线观看| 精品国产百合女同互慰| 免费成人在线电影| 欧洲精品一区色| 久久99久国产精品黄毛片色诱| 国产精品久久不卡| 色狠狠一区二区| 老司机精品视频在线观看6| 91欧美日韩一区| 99在线热播精品免费99热| 久久精品国产亚洲AV熟女| 欧美日韩在线观看一区二区| 国产网友自拍视频导航网站在线观看| 欧美亚洲在线观看| 国产真实有声精品录音| 在线免费av播放| 一区二区三区日韩精品视频| 午夜性色福利影院| 国产精品成人在线| 天堂网在线观看国产精品| 国产ts在线观看| 欧美专区在线观看一区| 中国av在线播放| 欧美日韩电影一区二区| 看片网站欧美日韩| 国产无套粉嫩白浆内谢| 中文字幕精品网| 国产厕拍一区| 网站一区二区三区| 亚洲综合免费观看高清在线观看| 国产又黄又粗又硬| 欧美国产在线电影| 国模吧精品视频| a级大片免费看| 五月婷婷综合网| 国产写真视频在线观看| 欧美成人免费在线| 国产精品亚洲一区二区三区妖精 | 成人免费视频| 国产91免费视频| 久久精品99国产精品| 久久高清免费视频| 久久精品视频va|