hbase splits 如何定位到哪个分区

hbase splits 如何定位到哪个分区,第1张

1.取样,先随机生成一定数量的rowkey,将取样数据按升序排序放到一个集合里

2.根据预分区的region个数,对整个集合平均分割,即是相关的splitKeys.

3.HBaseAdmin.createTable(HTableDescriptor tableDescriptor,byte[][] splitkeys)可以指定预分区的splitKey,即是指定region间的rowkey临界值.

下面的SQL,将 p2010Q1 分区,拆分为 P2009 与 P2010 两个分区

SQL>ALTER TABLE sale_data

2SPLIT PARTITION P2010Q1 AT(TO_DATE('2010-01-01','YYYY-MM-DD'))

3 INTO (PARTITION P2009,PARTITION P2010)

表已更改。

核对结果

SQL>SELECT

2partition_name, high_value

3 FROM

4user_tab_partitions

5 WHERE

6table_name = 'SALE_DATA'

PARTITION_NAME

------------------------------

HIGH_VALUE

--------------------------------------------------------------------------------

P2009

TO_DATE(' 2010-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA

P2010

TO_DATE(' 2010-04-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA

P2010Q2

TO_DATE(' 2010-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA

PARTITION_NAME

------------------------------

HIGH_VALUE

--------------------------------------------------------------------------------

P2010Q3

TO_DATE(' 2010-10-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6718809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存