本文主要介紹了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
。