【甘道夫】通过bulk load将HDFS上的数据导入HBase,hdfshbase


引言 通过bulkload将HDFS上的数据装载进HBase是常用的入门级HBase技能,下面简单记录下关键步骤。 bulkload的详细情况请参见官网文档。
过程
  • 第一步:每台机器执行
ln -s $HBASE_HOME/conf/hbase-site.xml $HADOOP_HOME/etc/hadoop/hbase-site.xml

  • 第二步:编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh,拷贝到所有节点
末尾添加:
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/lib/*:$ZOOKEEPER_HOME/zookeeper-3.4.6.jar

  • 第三步:生成HFile文件
hadoop jar $HBASE_HOME/lib/hbase-server-0.98.6-cdh5.2.0.jar importtsv -Dimporttsv.columns=${hbase_columns}  -Dimporttsv.bulk.output=${hfile_path} ${hbase_table} ${source_data_path}
注意:
  • 第四步:导入数据到HBase
hadoop jar $HBASE_HOME/lib/hbase-server-0.98.6-cdh5.2.0.jar completebulkload ${hfile_path} ${hbase_table}


hbase数据库里面的数据在hdfs的存储问题

1、你的key是连续的还是离散的
2、空间减小也可能是短暂的,你插入的数据量大一点观察一下
3、如果还不行,手动split试试
 

pig,Hive操作的是HDFS中的文件还是Hbase中的数据

都可以,hbase也是建立在hdfs之上的,,Hive更适合于数据仓库的任务,Hive主要用于静态的结构以及需要经常分析的工作。Hive与SQL相似促使其成为Hadoop与其他BI工具结合的理想交集。
Pig赋予开发人员在大数据集领域更多的灵活性,并允许开发简洁的脚本用于转换数据流以便嵌入到较大的 应用程序。
Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java APIs可大幅削减代码量。
Hive和Pig都可以与HBase组合使用,Hive和Pig还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。。
在操作RMDB数据库,如果是全表扫描,就用Hive+Hadoop,如果是索引访问,就用HBase+Hadoop 。
Hive query就是MapReduce jobs可以从5分钟到数小时不止,HBase是非常高效的,肯定比Hive高效的多。。。
 

相关内容

    暂无相关文章