一、Impala基础知识

一、Impala组件插入数据

1、连接:
impala-shell -i "10.7.67.103:21000" -u edq -q "CREATE DATABASE IF NOT EXISTS SHDATA"
## 插入单条数据
INSERT OVERWRITE TABLE TABLEINFO.TD_IMPALA_TYPE VALUES(CAST("BIGINT" AS VARCHAR(20)), 
CAST("BIGINT" AS VARCHAR(20)));
## 插入多条数据,使用逗号分开
INSERT OVERWRITE TABLE TABLEINFO.TD_IMPALA_TYPE VALUES(CAST("BIGINT" AS VARCHAR(20)), 
CAST("BIGINT" AS VARCHAR(20))),(CAST("BIGINT" AS VARCHAR(20)), CAST("BIGINT" AS VARCHAR(20)));
2、静态插入指定分区
INSERT OVERWRITE TABLE TDSHDATA.IDA_CD_INDIV_TXN_AMT_STAS 
PARTITION(TXN_DT = CAST('2017-01-01' AS ARCHAR(50))) 
SELECT AGMT_BELONG_ORG_NUM,BRIF_INFO_CD,BRIF_INFO_DESC,TXN_NET_AMT 
FROM DSDATA.IDA_CD_INDIV_TXN_AMT_STAS;
3、添加分区
ALTER TABLE TDSHDATA.IDA_CD_INDIV_TXN_AMT_STAS 
ADD IF NOT EXISTS PARTITION(TXN_DT = CAST('2017-01-01' AS VARCHAR(50)));
4、动态分区插入数据
INSERT OVERWRITE TABLE TDSHDATA.IDA_CD_INDIV_TXN_AMT_STAS PARTITION(TXN_DT) 
SLECT AGMT_BELONG_ORG_NUM,BRIF_INFO_CD,BRIF_INFO_DESC,TXN_NET_AMT,TXN_DT 
FROM TDSDATA.IDA_CD_INDIV_TXN_AMT_STAS;
5、清空表数据
TRUNCATE TABLE IF EXISTS TABLENAME;
6、refresh刷新分区信息 – 注:分区规范必须包含所有分区键列。

创建分区表:

CREATE TABLE IF NOT EXISTS TDSHDATA.T03_AGREEMENT (`AGMT_NUM` CHAR(40) COMMENT '协议号'
,`AGMT_MODIFIER_NUM` CHAR(8) COMMENT '协议修饰符'
,`AGMT_CATEG_CD` CHAR(2) COMMENT '协议类别代码'
,`ETL_PROC_DT` TIMESTAMP COMMENT 'ETL首次插入日期') 
-- COMMENT '协议表' (Hive的写法,写在这里声明表的中文名)
PARTITIONED BY(`AGMT_SRC_SYS_ID` CHAR(4) COMMENT '协议来源系统编号')  
-- COMMENT '协议表' (Impala的写法,写在这里声明表的中文名)
STORED AS parquet;

刷新表信息:

REFRESH TABLENAME PARTITION (PARTITION_COLUMN_NAME = CAST('VALUES' AS TYPE)); 
7、可以设置同一张表的不同分区的文件格式
CREATE TABLE TEST(NAME STRING) PARTITIONED BY(YEAR SMALLINT);
ALTER TABLE TEST ADD PARTITION(YEAR=2012); --- Text Format;
ALTER TABLE TEST ADD PARTITION(YEAR=2013);
ALTER TABLE TEST PARTITION(YEAR=2013) SET FILE
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值