hive分區表建表,刪除字段


一、建立分區表(parquet存儲格式)

--數據傾斜優化
set tez.queue.name=隊列;
set hive.execution.engine=tez;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.optimize.sort.dynamic.partition=true;
set hive.exec.max.dynamic.partitions=100000;
set hive.exec.max.dynamic.partitions.pernode=100000;
set hive.ignore.mapjoin.hint=true;
set hive.auto.convert.join = true;
set hive.groupby.skewindata=true;
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
--是否合並Map輸出文件, 默認值為true
set hive.merge.mapfiles=true;
--是否合並Reduce端輸出文件,默認值為false
set hive.merge.mapredfiles=true;
--合並文件的大小,默認值為256000000 256M
set hive.merge.size.per.task=256000000;
set mapreduce.job.reduce.slowstart.completedmaps=0.1;

create external table if not exists dm_dwd_data.dwd_qua_cos_ticket_day(
dept_code STRING COMMENT '網點'
,product_code STRING COMMENT '產品'
,rate_hb double COMMENT '日環比')
comment '建表'
PARTITIONED BY (inc_day STRING)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat';

二、臨時表插入分區

insert overwrite table dm_dwd_data.dwd_qua_cos_ticket_day partition (inc_day)
select
dept_code --網點
,product_code --產品
,rate_hb --日環比
,inc_day
from
bdp.tmp_dm_dwd_data.dwd_qua_cos_ticket_day_ttmp02;

三、分區表添加字段,末尾要加cascade

alter table dm_dwd_data.dwd_qua_cos_ticket_day add columns(
is_merge_dept STRING COMMENT '是否同場站'
,is_shiftno_num STRING COMMENT '是否多班次') cascade;

四、分區表刪除字段

alter table dm_dwd_data.dwd_qua_cos_ticket_day replace columns (dept_code STRING,product_code STRING);括號里為需要保留的字段

五、手工數據導入

--創建導入數據表
drop table if exists tmp_dm_dwd_data.test_03;
create table tmp_dm_dwd_data.test_03(
customer_id STRING COMMENT '單號'
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
stored as textfile;

--數據導入

load data inpath'/user/upload/data.csv' overwrite into table tmp_dm_dwd_data.test_03;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM