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;