[HBASE中当天已有30万条数据,如何以TXT格式将数据写入HBASE,每个TXT文件对应于一天中的数据,例如:2020.03.25 / high.TXT(高是表的名称)
您可以使用HBase附带的实用程序(使用hbase命令)将HBase导出到HDFS:
hbase org.apache.hadoop.hbase.mapreduce.Export high /path/in/hdfs
这将把全部数据表导出到HDFS中的一个csv文件中。因此,如果将hbase数据定义为包含1天的数据(通过使用ttl属性),则将获得所需的结果。
如果您的hbase表包含以前的数据,则可以按时间戳范围使用以下命令exprt数据:
echo "scan 'high',{ TIMERANGE => [start_timestamp, end_timestamp] }" | hbase shell | grep "^ " > high.txt
hdfs dfs -put high.txt /path/in/hdfs
start_timestamp
和end_timestamp
应该根据需要定义(对于最后1天,只需将它们设置为一天的开始和结束)。请注意,它首先会在本地文件系统中生成high.txt,因此请在有足够存储空间(或high一天不包含太多数据)时使用它。