1
hbase(main):030:0> t=get_table 'test44'
Took 0.0004 seconds
=> Hbase::Table - test44
hbase(main):031:0> t.flush
Took 0.1839 seconds
t.get '\x80\x10\xEF\xF0'.to_java_bytes
get 'test44', "\x80\x10\xEF\xF0".to_java_bytes
split
merge
move
2 导入
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.mapper.class=org.apache.hadoop.hbase.mapreduce.TsvImporterHHMapper -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,d:age,d:des,-Dimporttsv.bulk.output=/test/hh test /test.data
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /test/hh test
3 自己写HFile,见Spark写HFile
https://blog.csdn.net/wl044090432/article/details/50821313
LoadIncrementalHFiles
4 提高执行时间?
bulkload会将hfile的[firstkey, lastkey]和目标表region的[startkey, endkey]进行匹配,如果匹配失败则会进行文件拆分,所以不用担心不同集群表中region的差异
所以 ,可以适当跳过校验,让预分区的key匹配HFile,避免拆分。
链接:https://www.jianshu.com/p/bb6ea63de81d
5 利用HBase自带的导入,需要配置yarn。配置完毕后注意重启HBase,Hadoop集群,否则有些配置还是用的旧数据。
合并文件:
hdfs dfs -cat /hello1 /hello2 | hdfs dfs -copyFromLocal - /hello_all