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。