phoenix 已知 create table 两种方式: 列映射优化 与 关闭列映射 优化,第一种方式 不会 映射历史数据,第二种 会映射 历史数据 ,以下 四种方式都是以 关闭 列优化 方式建表为前提,补充历史数据可以分为两大类同步与异步:
异步方式(建议修改表名为大写)
a)phoenix sql 在线洗数据
适合小批量pheonix 内部导数据 (建议五十万以内)
b)hive sql 离线洗数据
c)spark + phoenix
如果洗数据 逻辑复杂,不能用sql 解决,使用该方式
同步方式(创建 pheonix 表 与 hbase 表名 一致,小写,不建议使用,部分pheonix官方插件使用受限,只能使用jdbc,主要针对 不能 修改表名的表)
d) phoenix 客户端sql 创建
在创建表过程中,需要同步数据,索引也需要同步创建,此方式 需要延长 hbase scanner rpc 超时时间,同步建立表或者索引( 扫描速度 140W/s,可设置 100 分钟)
如果 选择 列映射优化方式,所建 phoenix 表 都不能映射历史数据,直接选择异步方式 刷数据就可以
phoenix sql 离线洗数据
接下来创建表pheonix 表和 索引
create table f_fact_ad_keyword(
id varchar not null,
"cf"."flow_corp_name" varchar,
"cf"."keyword_url_remake" varchar
CONSTRAINT pk PRIMARY KEY (id)
)COLUMN_ENCODED_BYTES = 0;
CREATE LOCAL INDEX f_fact_ad_keyword_idx ON f_fact_ad_keyword ("cf"."keyword_url_remake");