hive.warehouse.subdir.inherit.perms=false
<description>true if table directories should inherit the permissions of the warehouse or database directory instead of being created with permissions derived from dfs umask</description>
默认为false,如果设置为true,表示hive新建表在hdfs的目录下,会继承warehouse的权限。
hive.server2.enable.doAs
hive.server2.enable.doAs设置成false则,yarn作业获取到的hiveserver2用户都为hive用户。
设置成true则为实际的用户名
1.Hive用户对底层文件的权限
hive用户对底层文件的访问权限,主要通过设置3个参数完成:
|
|
2. Hive自身权限
开启权限
|
|
3.Hive常用参数配置优化记录
hive通过将查询划分成一个或多个MapReduce任务达到并行处理的目的。每个任务都可能具有多个mapper和reducer任务,其中至少有一些是可以并行执行的。确定最佳的mapper个数和reducer个数取决于多个变量,例如输入的数据量大小以及对这些数据执行的操作类型等。
保持平衡性是很有必要的,对于Spark/Hadoop这样的大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜,每个节点处理的运算不均衡。
如果有太多的mapper或reducer任务,就会导致启动阶段、调度和运行job过程中产生过多的开销;而如果设置的数量太少,那就有可能没充分利用好集群内在并行性。
hive.exec.mode.local.auto
决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行)
默认值:true
hive.exec.mode.local.auto.inputbytes.max
如果hive.exec.mode.local.auto 为 true,当输入文件大小小于此阈值时可以自动在本地模式运行,默认是 128兆。
默认值:134217728L
hive.exec.mode.local.auto.tasks.max
如果hive.exec.mode.local.auto 为 true,当 Hive Tasks(Hadoop Jobs)小于此阈值时,可以自动在本地模式运行。
默认值:4
hive.auto.convert.join
是否根据输入小表的大小,自动将 Reduce 端的 Common Join 转化为 Map Join,从而加快大表关联小表的 Join 速度。
默认值:false
hive.mapred.local.mem
Mapper/Reducer在本地模式的最大内存量,以字节为单位,0为不限制。
默认值:0
mapred.reduce.tasks
所提交 Job 的 reduer 的个数,使用 Hadoop Client 的配置。
默认值:1
hive.exec.scratchdir
HDFS路径,用于存储不同 map/reduce 阶段的执行计划和这些阶段的中间输出结果。
默认值:/tmp/<user.name>/hive
hive.metastore.warehouse.dir
Hive 默认的数据文件存储路径,通常为 HDFS 可写的路径。
默认值:"
hive.groupby.skewindata
决定 group by 操作是否支持倾斜的数据。
默认值:false
hive.merge.mapfiles
在Map-only的任务结束时合并小文件。
是否开启合并 Map 端小文件,对于 Hadoop 0.20 以前的版本,起一个新的 Map/Reduce Job,对于 0.20 以后的版本,则是起使用 CombineInputFormat 的 MapOnly Job。
是否开启合并 Map 端小文件,当Hive输入由很多个小文件组成,由于每个小文件都会启动一个map任务,如果文件过小&#x