使用bulk load批量导入到hbase表中
- 删除临时目录
hadoop fs -rm -r /app/tmp/hdfs/tableNameFile
- 执行以下命令生成HFile文件
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \ -Dmapreduce.map.speculative=true \ -Dmapreduce.reduce.separator=true \ -Dmapreduce.map.memory.mb=5120 \ -Dmapreduce.reduce.memory.mb=5120 \ -Dmapreduce.map.java.opts=-Xmx4096m \ -Dimporttsv.separator="|" \ -Dimporttsv.columns=d:cf1,d:cf2,HBASE_ROW_KEY -Dimporttsv.bulk.output=hdfs:///app/tmp/hdfs/tableNameFile tableName /app/hdfs/filename/
- 将HFile文件批量导入到Hbase表中
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles \ hdfs:///app/tmp/hdfs/tableNameFile \ tableName
- 将上述1、2、3步骤的命令放到一个脚本里进行定时执行