5.1.3. 映射表基本用法
1. 创建映射表1
创建LSQL映射表的方法,与创建物理表区别不大。
创建LSQL映射表要使用create mapping语法(物理表的语法为create table)
例子1如下:
create mapping mp1(
s1 y_string_id physical@ss1_y_string_id, /*显示置顶映射到物理表中的字段,如果没设置physical,则由系统指定*/
wc4_1 y_wildcard4_is physical@wc4_1_y_wildcard4_is,
wc4_11 y_wildcard4_is
)
tableproperties(
mapping_physical_table='mp_ph' /*映射到哪张表里去*/
);
注:
- create mapping:创建映射表固定语法
- mp1:要创建的映射表名
- s1 y_string_id:映射表中字段名、字段数据类型
- physical@ss1y_string_id:通过physical参数来指定当前映射表字段在其物理表中的映射字段名字,如physical@s1s_y_string_id,表示将当前字段映射到ss1_y_string_id 的字段里,这个字段本质上是一个动态列(物理表里无法预先知道映射表的字段名称,故只能采用动态列),ss1是字段名字,y_string_id是映射字段的数据类型,,这里的数据类型必须采用y开头的类型,目前不支持简写
- mapping_physical_table:设定映射到哪张物理表去时的固定语法
- mp_ph:映射表所映射到的物理表名(物理表无需事先创建)
创建映射表1基本用法详情图如下:
图5.1.3.1 创建映射表1详情
创建完成后会生成两张表(映射表、物理表),如下图所示:
图5.1.3.2 生成的表
2. 创建映射表2
创建映射表例子2如下:
create mapping mp2
s2 y_string_id physical@ss2_y_string_id, /*显示置顶映射到物理表中的字段,如果没设置physical,则由系统指定*/
wc4_2 y_wildcard4_is physical@wc4_2_y_wildcard4_is,
wc4_22 y_wildcard4 _is )
tableproperties(
mapping_physical_table='mp_ph' /*映射到哪张表里去*/
);
例子2创建详情如下图所示:
图5.1.3.3 创建映射表2详情
因上述映射表在创建时映射的物理表和例子1中是同一张物理表,因此在创建完成后只会新生成一张表(映射表),如下图所示:
图5.1.3.4生成的表
mp1(映射表1)、mp2(映射表2)、mp_ph(物理表)三张表详情如下图所示:
图5.1.3.5 映射表&物理表详情图
由上可知,映射表真实底层存储情况如下图所示(图中数据为模拟数据):
图5.1.3.6 映射表底层存储
3. 映射表导入数据
(1) 原始数据(路径:/wyh/mp.log)如下图所示:
图5.1.3.7 原始数据图
(2) 向映射表中导入数据的方法与物理表中导入数据的方法完全一样。示例如下:
./load.sh -t mp1 -tp txt -local -f /wyh/mp.log -sp , -fl s1,wc4_1,wc4_11
(3) 导入数据后对映射表、物理表做全表查询:
图5.1.3.8 映射表&物理表全表查询
4. 查询方法
查询显示指定的物理表字段名及系统自动指定的物理表字段名:
图 5.1.3.9指定字段名查询