【HIVE常见操作二】

本文介绍了Hive和SparkSQL的高级操作技巧,包括动态分区设置、表与库的所有者更改、交换分区等特性,并提供了具体的操作命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.动态设置分区
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;

2.sparksql执行:有spark-sql和spark-shell两种形式
-2.1spark-shell执行格式
spark.sql("add jar ")
或者spark.addJar形式执行
例子:spark-shell --jars /home/bigdata/software/hive/ext-lib/suning-commons-udf.jar
-2.2一般建议使用spark-sql启动,然后直接执行sql语句,类似于hivesql执行

3.采用CTAS新建表时不会保留原始表的分区信息;
通过create table xxx like xxxx;会保留分区信息;

4.--union all 不去重; --union 去重

5.exchange partition
该语句允许将一个分区中的数据移动另一个拥有相同schema但没有那个分区的表中。两表结构完全一致,执行之后原表该分区无数据。
ALTER TABLEtable_name_1 EXCHANGE PARTITION (partition_spec) WITH TABLE table_name_2;

6.--非本地模式执行,即提交到集群上运行
set hive.exec.mode.local.auto=false;

7.replace columns(本质是先删除在创建)
alter table testc_zj_01 replace columns(empname String,empage int);

8.修改库owner
alter (database|schema) database_name set owner [user|role] user_or_role;
alter database xxx set owner ide;

9.修改表owner
alter table tablename set owner [user|role] user_or_role;
alter table tb1 set owner user user1;
alter table tb1 set owner role role1;
alter table xxx set owner user ide;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值