hive distcp数据同步
- 查看分区数据大小
hdfs dfs -du -h /user/hive/warehouse/compass.db/page_activity_chitu_prd/
- 不同集群,分区表,单个分区同步(从本地到远程集群拷贝)
hadoop distcp /user/hive/warehouse/compass.db/page_activity_merchant_prd/p_data_day=2023-01-03 hdfs://10.88.12.12/user/hive/warehouse/compass.db/page_activity_merchant_prd/
- 不同集群,全表同步(从本地到远程集群拷贝)
hadoop distcp /user/hive/warehouse/gs_dw_prd.db/ads_quickbi_user_behavior_emp_1d/* hdfs://10.88.12.12/user/hive/warehouse/test_gs_dw_prd.db/ads_quickbi_user_behavior_emp_1d/
代码语言:javascript复制 -- 同步HDFS数据(shell执行)
hadoop distcp
-Dmapred.job.queue.name=queue_name
-update
-skipcrccheck hdfs://hdfs01/user/hive/warehouse/db_name1.db/table_name
/user/hive/warehouse/db_name2.db/table_name
hive常用基本操作
1,创建(外部)表:
代码语言:javascript复制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表的修改(改为内部表,添加字段,修改字段)
代码语言:javascript复制设置为内表
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】
代码语言:javascript复制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,创建视图
代码语言:javascript复制CREATE or REPLACE VIEW bi_hive_bi_al_v.hive_user_reader_view COMMENT '用户实体数据' AS
SELECT
*
FROM bi_hive_db.hive_user_reader;
参考:https://www.bbsmax.com/A/GBJrXY63d0/ https://www.cnblogs.com/pengtaotao/p/15264561.html