-- 设置hive的计算引擎为spark
set hive.execution.engine=spark; -- 修复分区
set hive.msck.path.validation=ignore;
msck repair table sub_ladm_app_click_day_cnt; -- 打印表头
set hive.cli.print.header=true;
set hive.cli.print.row.to.vertical=true;
set hive.cli.print.row.to.vertical.num=1;
 
-- 显示当前数据库
set hive.cli.print.current.db=true;
 // 开启任务并行执行
set hive.exec.parallel=true;
// 同一个sql允许并行任务的最大线程数
set hive.exec.parallel.thread.number=8;
 -- 1、合并输入文件
-- 每个Map最大输入大小
set mapred.max.split.size=128000000;
-- 一个节点上split的至少的大小 
set mapred.min.split.size.per.node=100000000;
-- 一个交换机下split的至少的大小
set mapred.min.split.size.per.rack=100000000;
-- 执行Map前进行小文件合并
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; -- 2、合并输出文件
-- 在Map-only的任务结束时合并小文件
set hive.merge.mapfiles=true;
-- 在Map-Reduce的任务结束时合并小文件
set hive.merge.mapredfiles = true;
-- 合并文件的大小
set hive.merge.size.per.task = 134217728;
-- 当输出文件的平均大小小于该值时,启动一个独立的map-reduce任务进行文件merge
set hive.merge.smallfiles.avgsize=16000000;
 -- pa
set hive.exec.parallel = true;
set hive.exec.parallel.thread.number=50; set mapred.reduce.tasks=999;
set hive.merge.smallfiles.avgsize=100000000;
set mapred.combine.input.format.local.only=false; -- 控制hive任务的reduce数
set hive.exec.reducers.bytes.per.reducer=200000000;
set hive.exec.reducers.max=150;
set hive.exec.compress.intermediate=true; -- map执行前合并小文件,减少map数
set mapred.max.split.size=256000000;
set mapred.min.split.size=256000000;
set mapred.min.split.size.per.node=100000000;
set mapred.min.split.size.per.rack=100000000;
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; set hive.merge.mapredfiles = true;
set hive.merge.smallfiles.avgsize=100000000;
set mapred.combine.input.format.local.only=false; set hive.map.aggr=true;
set hive.groupby.skewindata=true; set mapreduce.reduce.memory.mb=6144;
set mapreduce.reduce.java.opts=-Xms2000m -Xmx8192m;
set mapred.compress.map.output=true;
set Hive.optimize.skewjoin = true;
set Hive.skewjoin.key=10000000;
set hive.auto.convert.join=true;
set hive.mapjoin.smalltable.filesize=25000000; set io.sort.spill.percent=0.6;
set mapred.job.shuffle.input.buffer.percent=0.2 ;
set mapred.job.shuffle.merge.percent=0.6; set hive.orc.compute.splits.num.threads=50; -- 修改reduce任务从map完成80%后开始执行
set mapreduce.job.reduce.slowstart.completedmaps=0.8 -- 加大内存
set mapreduce.map.memory.mb=16384;
set mapreduce.map.java.opts=-Xmx13106M;
set mapred.map.child.java.opts=-Xmx13106M;
set mapreduce.reduce.memory.mb=16384;
set mapreduce.reduce.java.opts=-Xmx13106M;--reduce.memory*0.8
set mapreduce.task.io.sort.mb=512
 -- 从本地文件加载数据:
LOAD DATA LOCAL INPATH '/home/hadoop/input/ncdc/micro-tab/sample.txt' OVERWRITE INTO TABLE records;
load data local inpath '/home/hive/partitions/files' into table logs partition (dt='2017-08-01',country='GB');
 -- 函数帮助
show functions;
desc function to_date;
desc function extended to_date;
 -- 数组、map、结构
select col1[],col2['b'],col3.c from complex;
 -- 导出orc文件
hive --orcfiledump /user/hive/warehouse/sx_360_safe.db/user_reg_info_init2
 -- 导出hive表数据
insert overwrite local directory '/tmp/tmp_20170830/app_210_s3_1016' row format delimited fields terminated by ',' select * from app_210_s3_1016;
cd /tmp/tmp_20170830/sub_ladm_exc_app_210_s3_1016
cat * > /tmp/tmp_20170830/result/app_210_s3_1016.csv
cd /tmp/tmp_20170830/result/
gzip app_210_s3_1016.csv
 -- hive生成统一ID
select regexp_replace(reflect("java.util.UUID", "randomUUID"), "-", "");
 -- 行转列功能
-- 打印列名
set hive.cli.print.header=true;
-- 开启行转列功能, 前提必须开启打印列名功能
set hive.cli.print.row.to.vertical=true;
-- 设置每行显示的列数
set hive.cli.print.row.to.vertical.num=1;

hive参数设置的更多相关文章

  1. Hive参数

    1.hive当中的参数.变量都是以命名空间开头 2.通过${}方式进行引用,其中system.env下的变量必须以前缀开头 3.hive参数设置方式 1.修改配置文件${HIVE_HOME}/conf ...

  2. 【Hive学习之五】Hive 参数&动态分区&分桶

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 ...

  3. hive学习05 参数设置

    001参数设置 hive执行命令的本质是mapreduce,当然也可以作为关系型数据库进行查询 --设置一个job有多少个reducer处理,依据多少的是文件的大小,默认1G set hive.exe ...

  4. [Hive] - Hive参数含义详解

    hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...

  5. hadoop记录-hive常见设置

    分区表 set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict;create tabl ...

  6. MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解

    MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Mycat介绍 1>.什么是Mycat Mycat背后是 ...

  7. hive参数配置及任务优化

    一.hive常用参数 0.常用参数 --@Name: --@Description: --@Type:全量加载 --@Author:--- --@CreateDate: --@Target: --@S ...

  8. hive参数——深入浅出学Hive

    第一部分:Hive 参数 hive.exec.max.created.files •说明:所有hive运行的map与reduce任务可以产生的文件的和 •默认值:100000  hive.exec.d ...

  9. Hive参数调优

    调优 Hive提供三种可以改变环境变量的方法,分别是: (1)修改${HIVE_HOME}/conf/hive-site.xml配置文件: 所有的默认配置都在${HIVE_HOME}/conf/hiv ...

随机推荐

  1. NSWindow上添加NSView

    DBSCustomView *view = [[DBSCustomView alloc] initWithFrame:NSMakeRect(100, 100, 100, 100)]; [self.wi ...

  2. Luogu 3939 数颜色

    随手点开一个题. 咦,这不是裸的动态开点线段树吗?写一个写一个…… Code: #include <cstdio> #include <cstring> using names ...

  3. ConfigParser简介

    一.ConfigParser简介 ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号“[ ]”内包含的为section.section 下面为类似于key-value 的配置 ...

  4. 说“DPI”

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.03.08更新:2007.04.02 目录一.基本概念二.图像文件中的DPI三.PDG文件中的DPI四.PDF文件中 ...

  5. WCF寄宿控制台.WindowsService.WinFrom.WebAPI寄宿控制台和windows服务

    先建立wcf类库.会默认生成一些试用代码.如下: public class Service1 { public string GetData(int value) { return string.Fo ...

  6. [转]Marshaling a SAFEARRAY of Managed Structures by P/Invoke Part 2.

    1. Introduction. 1.1 In part 1 of this series of articles, I explained how managed arrays may be tra ...

  7. EF中的MySql返回 DataTable公共类库

    public static class SqlHelper { /// <summary> /// EF SQL 语句返回 dataTable /// </summary> / ...

  8. 算法训练 最大的算式(DP)

    问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...

  9. web.xml 有什么用?(Java框架)

      1.每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程 ...

  10. AngularJs 指令 directive中link,controller 的区别

    其实严格来讲,link和controller是完全不同的概念,这里讲区别有点牵强. angular指令中,带有link和controller两个函数,很多人在写指令的时候不知道是写在link里 还是c ...