本文主要介绍了table_mapping和column_mapping的表属性定义方法。
table_mapping
当DLA里面的表名跟底层数据的表名不一致的时候,可以用property来指定底层数据的表名。
举例:DLA的表名是
person
,底层数据的表名是staff
。create external table person (
id int,
name string,
age int
) tblproperties(
table_mapping = 'staff'
);
column_mapping
当DLA中的列名跟底层数据中的列名不一致的时候,或者底层数据中没有列的概念的时候,可以用property来指定底层数据列名与DLA列名的对应关系。示例如下:
create external table person (
id int,
name string,
age int
) tblproperties(
column_mapping = 'id,identifier;name,title;'
);
说明 DLA的列名
id
对应底层数据的identifier
, name
对应底层数据的title
, 如果DLA中没有指定age
,则对应底层数据的age
。