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指定字段名查询

Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-06 15:04:01

results matching ""

    No results matching ""