zoukankan      html  css  js  c++  java
  • hive参数设置

     1 -- 设置hive的计算引擎为spark
     2 set hive.execution.engine=spark;
     3 
     4 -- 修复分区
     5 set hive.msck.path.validation=ignore;
     6 msck repair table sub_ladm_app_click_day_cnt;
     7 
     8 -- 打印表头
     9 set hive.cli.print.header=true;
    10 set hive.cli.print.row.to.vertical=true;
    11 set hive.cli.print.row.to.vertical.num=1;
    12  
    13 -- 显示当前数据库
    14 set hive.cli.print.current.db=true;
    1 // 开启任务并行执行
    2 set hive.exec.parallel=true;
    3 // 同一个sql允许并行任务的最大线程数
    4 set hive.exec.parallel.thread.number=8;
     1 -- 1、合并输入文件
     2 -- 每个Map最大输入大小
     3 set mapred.max.split.size=128000000;
     4 -- 一个节点上split的至少的大小 
     5 set mapred.min.split.size.per.node=100000000;
     6 -- 一个交换机下split的至少的大小
     7 set mapred.min.split.size.per.rack=100000000;
     8 -- 执行Map前进行小文件合并
     9 set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
    10 
    11 -- 2、合并输出文件
    12 -- 在Map-only的任务结束时合并小文件
    13 set hive.merge.mapfiles=true;
    14 -- 在Map-Reduce的任务结束时合并小文件
    15 set hive.merge.mapredfiles = true;
    16 -- 合并文件的大小
    17 set hive.merge.size.per.task = 134217728;
    18 -- 当输出文件的平均大小小于该值时,启动一个独立的map-reduce任务进行文件merge
    19 set hive.merge.smallfiles.avgsize=16000000;
     1 -- pa
     2 set hive.exec.parallel = true;
     3 set hive.exec.parallel.thread.number=50;
     4 
     5 set mapred.reduce.tasks=999;
     6 set hive.merge.smallfiles.avgsize=100000000;
     7 set mapred.combine.input.format.local.only=false;
     8 
     9 -- 控制hive任务的reduce数
    10 set hive.exec.reducers.bytes.per.reducer=200000000;
    11 set hive.exec.reducers.max=150;
    12 set hive.exec.compress.intermediate=true;
    13 
    14 -- map执行前合并小文件,减少map数
    15 set mapred.max.split.size=256000000;
    16 set mapred.min.split.size=256000000;
    17 set mapred.min.split.size.per.node=100000000;
    18 set mapred.min.split.size.per.rack=100000000;
    19 set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
    20 
    21 set hive.merge.mapredfiles = true;
    22 set hive.merge.smallfiles.avgsize=100000000;
    23 set mapred.combine.input.format.local.only=false;
    24 
    25 set hive.map.aggr=true;
    26 set hive.groupby.skewindata=true;
    27 
    28 set mapreduce.reduce.memory.mb=6144;
    29 set mapreduce.reduce.java.opts=-Xms2000m -Xmx8192m;
    30 set mapred.compress.map.output=true;
    31 set Hive.optimize.skewjoin = true;
    32 set Hive.skewjoin.key=10000000;
    33 set hive.auto.convert.join=true;
    34 set hive.mapjoin.smalltable.filesize=25000000;
    35 
    36 set io.sort.spill.percent=0.6;
    37 set mapred.job.shuffle.input.buffer.percent=0.2 ;
    38 set mapred.job.shuffle.merge.percent=0.6;
    39 
    40 set hive.orc.compute.splits.num.threads=50;
    41 
    42 -- 修改reduce任务从map完成80%后开始执行
    43 set mapreduce.job.reduce.slowstart.completedmaps=0.8
    44 
    45 -- 加大内存
    46 set mapreduce.map.memory.mb=16384;
    47 set mapreduce.map.java.opts=-Xmx13106M;
    48 set mapred.map.child.java.opts=-Xmx13106M;
    49 set mapreduce.reduce.memory.mb=16384;
    50 set mapreduce.reduce.java.opts=-Xmx13106M;--reduce.memory*0.8
    51 set mapreduce.task.io.sort.mb=512
    1 -- 从本地文件加载数据:
    2 LOAD DATA LOCAL INPATH '/home/hadoop/input/ncdc/micro-tab/sample.txt' OVERWRITE INTO TABLE records;
    3 load data local inpath '/home/hive/partitions/files' into table logs partition (dt='2017-08-01',country='GB');
    1 -- 函数帮助
    2 show functions;
    3 desc function to_date;
    4 desc function extended to_date;
    1 -- 数组、map、结构
    2 select col1[0],col2['b'],col3.c from complex;
    1 -- 导出orc文件
    2 hive --orcfiledump /user/hive/warehouse/sx_360_safe.db/user_reg_info_init2
    1 -- 导出hive表数据
    2 insert overwrite local directory '/tmp/tmp_20170830/app_210_s3_1016' row format delimited fields terminated by ',' select * from app_210_s3_1016;
    3 cd /tmp/tmp_20170830/sub_ladm_exc_app_210_s3_1016
    4 cat * > /tmp/tmp_20170830/result/app_210_s3_1016.csv
    5 cd /tmp/tmp_20170830/result/
    6 gzip app_210_s3_1016.csv
    1 -- hive生成统一ID
    2 select regexp_replace(reflect("java.util.UUID", "randomUUID"), "-", "");
    1 -- 行转列功能
    2 -- 打印列名
    3 set hive.cli.print.header=true;
    4 -- 开启行转列功能, 前提必须开启打印列名功能
    5 set hive.cli.print.row.to.vertical=true;
    6 -- 设置每行显示的列数
    7 set hive.cli.print.row.to.vertical.num=1;
  • 相关阅读:
    释放jQuery 的$ 的使用权
    jQuery 入口函数主要有4种写法
    jQuery的 ready() 和原生 Js onload() 的主要区别:
    简单的单击图片循环播放
    Jsの练习-数组其他常用方法 -map() ,filter() ,every() ,some()
    Jsの练习-数组常用方法 -forEach()
    stylelint和eslint的VS插件配置
    工作中遇到的bug
    VUE关于data对象中数组修改和对象添加属性的响应式问题
    VUE的watch监听对象
  • 原文地址:https://www.cnblogs.com/chenzechao/p/9365795.html
Copyright © 2011-2022 走看看