首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏大数据成长之路

    Hive性能之严格模式(4)

    Hive提供了一个严格模式,可以防止用户执行“高危”的查询。 通过设置属性hive.mapred.mode值为默认是非严格模式nonstrict 。 开启严格模式需要修改hive.mapred.mode值为strict,开启严格模式可以禁止3种类型的查询。 <property> <name>hive.mapred.mode</name> <value>strict</value> <description> The mode in which the Hive operations are being performed. 不幸的是,Hive并不会执行这种优化,因此,如果表足够大,那么这个查询就会出现不可控的情况。 本次的分享就到这里了,受益的小伙伴们记得点赞加关注哟٩(๑>◡<๑)۶

    59510发布于 2021-01-22
  • 来自专栏小道

    Hive参数

    hive.exec.max.dynamic.partitions=1000   (4)在每个执行MR的节点上,最大可以创建多少个动态分区。该参数需要根据实际的数据来设定。 click_url string) PARTITIONED BY (p_time STRING) row format delimited fields terminated by '\t'; (4) =false; 九、Hive配置项合集 参数 作用 hive.ddl.output.format hive的ddl语句的输出格式,默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置 hive.exec.plan hive执行计划的文件路径,默认是null,会在运行时自动设置,形如hdfs://xxxx/xxx/xx; hive.exec.scratchdir hive用来存储不同阶段的 ; hive.files.umask.value:hive创建文件夹时的dfs.umask值,默认是0002; hive.metastore.local:控制hive是否连接一个远程metastore

    2.2K30发布于 2021-04-13
  • Hive总结

    代码级别的 友情提示:小编扛着发烧写完这详细的总结,请一定要给一键三连呀各位大佬 explain 与 explain exented 优化 ​```powershell explain select 任务越复杂,Hql代码越复杂,stage数量越多,程序运行的时间越长 join 优化 hive的查询永远都是小表(结果集)驱动大表(结果集) hive中的on连接只能是等值连接 注意点:hive是否配置普通的 =false(建议开启) hive.exec.mode.local.inputbytes.max=134217728 hive.exec.mode.local.input.files.max=4 并行执行 hive.exec.parallel=false(建议打开) hive.exec.parallel.number=8 严格模式 ​```powershell hive.mapred.mode=nonstrict =ture,设置后它会进行负载均衡,解决数据倾斜的问题 4.hive是会处理大文件,因为大文件会有效的减少过多job以及task的创建,所以我们使用UDF和UDAF来处理数据,UDF是一对一输出,解决BUG

    10710编辑于 2026-06-18
  • 来自专栏大数据仓库建设

    hive mapreduce reducer

    hive参数配置详情可查官方文档:Hive Configuration+Properties 本文针对 reducer ,主要涉及一下三个参数: hive.exec.reducers.bytes.per.reducer In: Hive 0.2.0; default changed in 0.14.0 with HIVE-7158 (and HIVE-7917) Size per reducer. In Hive 0.14.0 and later the default is 256 MB, that is, if the input size is 1 GB then 4 reducers will =1024000000 临时调参: hive> set hive.exec.reducers.bytes.per.reducer=15364000000; hive> set hive.exec.reducers.bytes.per.reducer 查看配置的默认值: hive> set hive.exec.reducers.max; hive.exec.reducers.max=1099 临时调参: hive> set hive.exec.reducers.max

    3.3K20发布于 2019-03-14
  • 来自专栏大数据成神之路

    Hive性能 | 数据倾斜

    往期回顾之Hive性能系列: Hive性能 | Fetch抓取 Map数 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有:input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M,可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改); 举例: b) 多个小文件:假设input目录下有3个文件a,b,c大小分别为10m,20m,150m,那么hadoop会分隔成4个块(10m,20m,128m,22m),从而产生4个map数。 针对上面的问题3和4,我们需要采取两种方式来解决:即减少map数和增加map数。 针对上面的第4条 假设有这样一个任务: Select data_desc, count(1), count(distinct id), sum(case when …), sum(case when …

    1K10发布于 2020-11-06
  • 来自专栏小火龙说数据

    「干货」Hive的六板斧!你是否全部掌握?『Hive系列4

    本篇文章带你揭开面纱。 ,在了解Hive运行原理的基础上,分享一些「Hive的技巧」。 根据侧重点,可以划分为两大方面:代码、运行。以下将从这两个方面进行展开。 01 代码 第一板斧:代码中最好不用Select * 原因:在原表量级很大且字段数很多的情况下,应用Select * 会输出很多无效的字段,占用处理资源,造成资源浪费。 空值的处理也分为两种情况:空值无需输出、空值需要输出,具体处理方式如下图: 02 运行 第三板斧:设置合理的Map/Reduce数量 上篇文章中,小火龙和大家分享过Hive的实现原理。

    60620编辑于 2023-09-01
  • 来自专栏大数据成神之路

    Hive性能 | Fetch抓取

    hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本hive默认是minimal,该属性修改为more以后,在全局查找、字段查找 hive (default)> set hive.fetch.task.conversion=none; hive (default)> select * from score; hive (default hive (default)> set hive.fetch.task.conversion=more; hive (default)> select * from score; hive (default mr的方式,默认为4 set hive.exec.mode.local.auto.input.files.max=10; 案例实操: 开启本地模式,并执行查询语句 hive (default)> set 32123456; SELECT count(id) FROM (SELECT id FROM bigtable GROUP BY id) a; 结果:Stage-Stage-1: Map: 1 Reduce: 4

    83230发布于 2020-11-06
  • 来自专栏Spark学习技巧

    Hive on Spark参数姿势小结

    Hive on Spark的效率比on MR要高不少,但是也需要合理调整参数才能最大化性能,本文简单列举一些项。为了符合实际情况,Spark也采用on YARN部署方式来说明。 YARN NodeManager的yarn.nodemanager.resource.cpu-vcores参数设为28,也就是YARN能够利用其中的28核,此时将spark.executor.cores设为4最合适 128G物理内存,yarn.nodemanager.resource.memory-mb(即单个NodeManager能够利用的主机内存量)设为120G,那么总内存量就是:120 * 1024 * (4 根据资源富余程度和作业的大小,一般是将总量控制在512MB~4GB之间,并且沿用Executor内存的“二八分配方式”。 Hive参数 绝大部分Hive参数的含义和方法都与on MR时相同,但仍有两个需要注意。

    4.7K30发布于 2020-09-16
  • 来自专栏Lansonli技术博客

    2021年大数据Hive(十一):Hive

    Hive 一、本地模式 大多数的Hadoop Job是需要Hadoop提供的完整的可扩展性来处理大数据集的。不过,有时Hive的输入数据量是非常小的。 用户可以通过设置hive.exec.mode.local.auto的值为true,来让Hive在适当的时候自动启动这个优化。 local mr的方式,默认为4 set hive.exec.mode.local.auto.input.files.max=10; 案例实操: --1)开启本地模式,并执行查询语句 hive (default 三、并行执行 Hive会将一个查询转化成一个或者多个阶段。这样的阶段可以是MapReduce阶段、抽样阶段、合并阶段、limit阶段。或者Hive执行过程中可能需要的其他阶段。 四、严格模式 Hive提供了一个严格模式,可以防止用户执行那些可能意向不到的不好的影响的查询。 通过设置属性hive.mapred.mode值为默认是非严格模式nonstrict 。

    1K20发布于 2021-10-11
  • 来自专栏五分钟学大数据

    Hive SQL 参数与性能

    但是如果我们只局限于会使用Hive,而不考虑性能问题,就难搭建出一个完美的数仓,所以Hive性能是我们大数据从业者必须掌握的技能。本文将给大家讲解Hive参数与性能的一些方法及技巧。 1. JVM优化 JVM重用是Hadoop参数的内容,其对Hive的性能具有非常大的影响,特别是对于很难避免小文件的场景或task特别多的场景,这类场景大多数执行时间都很短。 =true 关于这些推测执行变量,还很难给一个具体的建议。 Hive的数据倾斜一般的处理方案: 常见的做法,通过参数: set hive.map.aggr=true; set hive.groupby.skewindata = ture; 当选项设定为 其他参数 开启CLI提示符前打印出当前所在的数据库名 set hive.cli.print.current.db=true; 让CLI打印出字段名称 hive.cli.print.header=true

    1.9K21编辑于 2022-04-07
  • 来自专栏岑玉海

    Hive Tuning(五) 标准清单

    Hive的标准清单,我们可以对照着来做我们的查询优化!

    888100发布于 2018-03-01
  • 来自专栏Hadoop实操

    0924-Hive on Tez性能

    Hive on Tez查询没有一个通用的方法,查询的性能取决于数据的大小、文件类型、查询设计和查询模式。 1 通用 有时从CDH升级到CDP后,会发现Hive on Tez作业会比老的MR或者Spark要慢,这往往是因为没有对Tez作业进行导致的,另外在老的CDH平台中,因为一般都持续稳定运行一段时间了 由以下两个属性控制: • hive.prewarm.enabled • hive.prewarm.numcontainers 7 通用Tez参数 在处理Hive on Tez查询性能问题时,可以优先检查以下参数 8 总结 Hive on Tez查询性能分析的第一步是检查HiveHive on Tez 服务的一些关键配置,然后对于一些SQL查询作业一般需要set一些参数来进行特定的性能,大部分参数在本文都列出来了 对于一些复杂SQL的,或者运行故障往往还需要对SQL的写法进行调整。

    2.1K20编辑于 2024-05-18
  • 来自专栏大数据成神之路

    硬刚Hive | 4万字基础面试小总结

    Hive性能优化 Hive作为大数据平台举足轻重的框架,以其稳定性和简单易用性也成为当前构建企业级数据仓库时使用最多的框架之一。 Hive性能是我们大数据从业者必须掌握的技能。 以下将给大家讲解Hive性能的一些方法及技巧。 这个例子告诉我们,有时候我们不要过度优化,讲究适时调,过早进行有可能做的是无用功甚至产生负效应,在上投入的工作成本和回报不成正比。需要遵循一定的原则。 五、JVM优化 JVM重用是Hadoop参数的内容,其对Hive的性能具有非常大的影响,特别是对于很难避免小文件的场景或task特别多的场景,这类场景大多数执行时间都很短。 =true Hive性能优化之数据倾斜专题 大家可以参考《Hive性能 | Fetch抓取》。

    2.6K42发布于 2021-06-01
  • 来自专栏不温卜火

    Hive快速入门系列(17) | Hive性能 并行执行

      此次博主为大家带来的是Hive性能中的并行执行。   Hive会将一个查询转化成一个或者多个阶段。这样的阶段可以是MapReduce阶段、抽样阶段、合并阶段、limit阶段。 或者Hive执行过程中可能需要的其他阶段。默认情况下,Hive一次只会执行一个阶段。 通过设置参数hive.exec.parallel值为true,就可以开启并发执行。不过,在共享集群中,需要注意下,如果job中并行阶段增多,那么集群利用率就会增加。 set hive.exec.parallel=true; //打开任务并行执行 set hive.exec.parallel.thread.number=16; //同一个sql

    1.3K10发布于 2020-10-28
  • 来自专栏不温卜火

    Hive快速入门系列(19) | Hive性能 JVM重用

      此次博主为大家带来的是Hive性能中的JVM重用。    JVM重用是Hadoop参数的内容,其对Hive的性能具有非常大的影响,特别是对于很难避免小文件的场景或task特别多的场景,这类场景大多数执行时间都很短。   

    73720发布于 2020-10-28
  • 来自专栏不温卜火

    Hive快速入门系列(16) | Hive性能 数据倾斜

      此次博主为大家带来的是Hive性能中的数据倾斜。 一. 合理设置Map及Reduce数 1.通常情况下,作业会通过input的目录产生一个或者多个map任务。 设置最大切片值为100个字节 hive (default)> set mapreduce.input.fileinputformat.split.maxsize=100; hive (default)> set hive.input.format= org.apache.hadoop.hive.ql.io.CombineHiveInputFormat; (2)在Map-Reduce的任务结束时合并小文件的设置 : 在map-only任务结束时合并小文件,默认true SET hive.merge.mapfiles = true; 在map-reduce任务结束时合并小文件,默认false SET hive.merge.mapredfiles merge SET hive.merge.smallfiles.avgsize = 16777216; 四.

    1.1K20发布于 2020-10-28
  • 来自专栏不温卜火

    Hive快速入门系列(18) | Hive性能 严格模式

      此次博主为大家带来的是Hive性能中的严格模式。 Hive提供了一个严格模式,可以防止用户执行那些可能意想不到的不好的影响的查询。    通过设置属性hive.mapred.mode值为默认是非严格模式nonstrict 。开启严格模式需要修改hive.mapred.mode值为strict,开启严格模式可以禁止3种类型的查询。 <property> <name>hive.mapred.mode</name> <value>strict</value> <description> The mode in which the Hive operations are being performed. 不幸的是,Hive并不会执行这种优化,因此,如果表足够大,那么这个查询就会出现不可控的情况。   好了,本次的分享到这里就结束了!!

    1.2K20发布于 2020-10-28
  • 来自专栏Spark学习技巧

    Hive常用参数十二板斧

    4). 尽量原子化操作 尽量避免一个SQL包含复杂逻辑,可以使用中间表来完成复杂的逻辑 3. 本地模式 有时hive的输入数据量是非常小的。 (默认128MB)   - 2.job的map数必须小于参数:hive.exec.mode.local.auto.tasks.max(默认4)   - 3.job的reduce数必须为0或者1 可用参数 4.并行执行 hive会将一个查询转化为一个或多个阶段,包括:MapReduce阶段、抽样阶段、合并阶段、limit阶段等。默认情况下,一次只执行一个阶段。 原因 1)、key分布不均匀 2)、业务数据本身的特性 3)、建表时考虑不周 4)、某些SQL语句本身就有数据倾斜 解决方案:参数调节 hive.map.aggr=true 11. 其他参数 开启CLI提示符前打印出当前所在的数据库名 set hive.cli.print.current.db=true; 让CLI打印出字段名称 hive.cli.print.header=true

    1.8K10编辑于 2022-03-14
  • 来自专栏大数据成神之路

    Hive常用参数十二板斧

    4). 尽量原子化操作 尽量避免一个SQL包含复杂逻辑,可以使用中间表来完成复杂的逻辑 3. 本地模式 有时hive的输入数据量是非常小的。 (默认128MB)   - 2.job的map数必须小于参数:hive.exec.mode.local.auto.tasks.max(默认4)   - 3.job的reduce数必须为0或者1 可用参数 4.并行执行 hive会将一个查询转化为一个或多个阶段,包括:MapReduce阶段、抽样阶段、合并阶段、limit阶段等。默认情况下,一次只执行一个阶段。 原因 1)、key分布不均匀 2)、业务数据本身的特性 3)、建表时考虑不周 4)、某些SQL语句本身就有数据倾斜 ? 解决方案:参数调节 hive.map.aggr=true 11. 其他参数 开启CLI提示符前打印出当前所在的数据库名 set hive.cli.print.current.db=true; 让CLI打印出字段名称 hive.cli.print.header=true

    4K42发布于 2020-12-08
  • 来自专栏不温卜火

    Hive快速入门系列(20) | Hive性能 推测执行

      此次博主为大家带来的是Hive性能中的推测执行。    </description> </property> 不过hive本身也提供了配置项来控制reduce-side的推测执行:默认是true <property> <name>hive.mapred.reduce.tasks.speculative.execution </description> </property>   关于这些推测执行变量,还很难给一个具体的建议。如果用户对于运行时的偏差非常敏感的话,那么可以将这些功能关闭掉。

    77720发布于 2020-10-28
领券