hive常用基本操作(同步表,建立檢視,修復元資料metastore)
阿新 • • 發佈:2021-09-14
1,建立(外部)表:
CREATE EXTERNAL TABLE `hive_user_reader`(
`read_src` string COMMENT '閱讀來源',
`source_id` string COMMENT '來源ID',
`app_version` string COMMENT '端版本號')
COMMENT '閱讀書籍表'
PARTITIONED BY (
`dt` string COMMENT '時間-天',
`log_flag` string COMMENT '日誌標記')
STORED AS PARQUET
2 ,對hive表的修改(改為內部表,新增欄位,修改欄位
:設定為內表 alter table hive_user_reader set TBLPROPERTIES('EXTERNAL'='false') :新增欄位 alter table hive_user_reader add columns (欄位名 欄位型別 comment '欄位描述') cascade; eg: alter table table_name add columns (now_time varchar(300) comment '當前時間'); :修改欄位 alter table hive_user_reader change id app_version varchar(300); :刪除app_version列 ALTER TABLE hive_user_reader REPLACE COLUMNS ( read_src,source_id) :修復分割槽表 msck repair table bi_hive_db.hive_user_reader
3,拷貝表從遠端叢集到本地(跨叢集),拷貝完後記得修復分割槽表【如果沒有佇列則不要:-Dmapred.job.queue.name=root.bi_qipu.p1】
hadoop distcp -Dmapred.job.queue.name=root.bi_qipu.p1 hdfs://namenode02-jj:8020/hive/warehouse/jin_warehouse_dwd.db/hive_user_reader /hive/warehouse/jin_warehouse_dwd.db/hive_user_reader
4,拷貝從遠端叢集到本地(同叢集),拷貝完後記得修復分割槽表 【如果沒有佇列則不要:-Dmapred.job.queue.name=root.bi_qipu.p1】
拷貝 jin_warehouse_dim.db/hive_user_reader/ 下的所有分割槽 到 jin_warehouse_dwd.db/hive_user_reader/ 下
hadoop distcp -Dmapred.job.queue.name=root.bi_qipu.p1 /hive/warehouse/jin_warehouse_dim.db/hive_user_reader/ /hive/warehouse/jin_warehouse_dwd.db/hive_user_reader/
5,建立檢視
CREATE or REPLACE VIEW bi_hive_bi_al_v.hive_user_reader_view COMMENT '使用者實體資料' AS SELECT * FROM bi_hive_db.hive_user_reader;