当hbase里的数据量很大时,想要查找导出某些数据是非常耗时的。针对于我们一般的应用,对于有批次或任务性质概念的数据,我们可以这样:
首先,在进行数据存存时,需要对其ROWKEY进行规范化生成,
如生成规格为:自定义ID+任务/批次ID+UUID(注意,整个ROWKYE尽可能保证只有数据和字母,UUID的-字符需替换掉)
这样,当我们想找到某一批次或任务或某ID标识的数据时,可以:
使用scan,以设置其startrow,stoprow实现:
startrow:ID+任务ID+32位0
stoprow:ID+任务ID+32位z
因为对应于ASCII码,其排序顺序是:数字-大写字母-小写字母,所以SCAN的起码行可以如上设置,即可找出某任务的所有数据,且这样寻找的速度非常快。
首先,在进行数据存存时,需要对其ROWKEY进行规范化生成,
如生成规格为:自定义ID+任务/批次ID+UUID(注意,整个ROWKYE尽可能保证只有数据和字母,UUID的-字符需替换掉)
这样,当我们想找到某一批次或任务或某ID标识的数据时,可以:
使用scan,以设置其startrow,stoprow实现:
startrow:ID+任务ID+32位0
stoprow:ID+任务ID+32位z
因为对应于ASCII码,其排序顺序是:数字-大写字母-小写字母,所以SCAN的起码行可以如上设置,即可找出某任务的所有数据,且这样寻找的速度非常快。