HBase提供了多种导出数据到本地文件的方法,下面介绍两种常用的方法:
使用HBase自带的导出工具hbase org.apache.hadoop.hbase.mapreduce.Export
:
hbase org.apache.hadoop.hbase.mapreduce.Export <tablename> <outputdir> [<versions> [<starttime> [<endtime>]]]
其中,
<tablename>
:要导出数据的表名。<outputdir>
:导出数据的输出目录。<versions>
:可选参数,导出每个cell的版本数,默认为1。<starttime>
和<endtime>
:可选参数,导出数据的时间范围。例如,将表mytable
的数据导出到本地/tmp/export
目录下:
hbase org.apache.hadoop.hbase.mapreduce.Export mytable /tmp/export
使用导入/导出工具hbase org.apache.hadoop.hbase.util.Export
和hbase org.apache.hadoop.hbase.util.Import
:
首先使用Export
将数据导出到HDFS上的一个文件:
hbase org.apache.hadoop.hbase.util.Export <tablename> <outputdir> [<versions> [<starttime> [<endtime>]]]
然后使用Import
将HDFS上的文件导出到本地文件:
hbase org.apache.hadoop.hbase.util.Import <outputdir> <localdir>
例如,将表mytable
的数据导出到HDFS上的/tmp/export
文件,并将该文件导出到本地/tmp/export
目录下:
hbase org.apache.hadoop.hbase.util.Export mytable /tmp/export
hbase org.apache.hadoop.hbase.util.Import /tmp/export /tmp/export
注意,以上导出方法均需要在HBase集群的节点上执行。如果要导出到本地,需要确保本地文件系统可以访问到HDFS。