impala 外部表:查询、创建
1、查看所有的外部表
1)在Linux环境切换到impala:impala-shell -i HAZZ-IPMS-HADOOP004
2)show tables like 'ext*' 查看外部表:
2、创建外部表:
我们在创建表的时候可以指定external关键字创建外部表,外部表对应的文件存储在location指定的目录下,向该目录添加新文件的同时,该表也会读取到该文件(当然文件格式必须跟表定义的一致),删除外部表的同时并不会删除location指定目录下的文件.
CREATE EXTERNAL TABLE ext_data.ext_volte_test (
length BIGINT,
city STRING,
interface BIGINT,
xdr_id STRING,
ssi STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n'
WITH SERDEPROPERTIES ('line.delim'='\n', 'field.delim'='|', 'serialization.format'='|')
STORED AS TEXTFILE
LOCATION 'hdfs://nameservice1/rawdata/impalaload/volte/test'
TBLPROPERTIES ('numFiles'='0', 'COLUMN_STATS_ACCURATE'='false', 'transient_lastDdlTime'='1459248728', 'numRows'='-1', 'totalSize'='0', 'rawDataSize'='-1')
其中:
LOCATION 'hdfs://nameservice1/rawdata/impalaload/volte/test'--指定了外部文件的位置,当此位置下有新的文件出现时,数据会自动加载到外部表