Hive使用中常见的问题及解决方法

这篇具有很好参考价值的文章主要介绍了Hive使用中常见的问题及解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供SQL查询功能。在工作中大部分场景都会用到,下面列出几个 hive 使用中常见的问题及解决方法。

1)Hive 默认的输入格式处理是CombineHiveInputFormat,会对小文件进行合并

hive (default)> set hive.input.format;

hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat

         可以采用HiveInputFormat就会根据分区数据输出相应的文件。

hive (default)> set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;

2)不能执行MapReduce程序

        可能是Hadoop的Yarn没开启。

3)启动MySQL服务时,报MySQL server PID file could not be found!异常。

        在/var/lock/subsys/mysql 路径下创建 hadoop102.pid(我的练习集群主机名是hadoop102,hadoop103,hadoop104),并在文件中添加内容:4396

4)报  service mysql status MySQL is not running,but lock file (/var/lock/subsys/mysql[失败])异常。

        解决方案:在/var/lib/mysql 目录下创建:hadoop102.pid 文件,并修改权限为777。

5)JVM 堆内存溢出(Hive 集群运行模式)

        描述:java.lang.OutOfMemoryError:Java heap space

        解决:在 yarn-site.xml 中加入如下代码。

<property>

    <name>yarn.scheduler.maximum-allocation-mb</name>

    <value>2048</value>

</property>

<property>

    <name>yarn.scheduler.minimum-allocation-mb</name>

    <value>2048</value>

</property>

<property>

    <name>yarn.nodemanager.vmem-pmem-ratio</name>

    <value>2.1</value>

</property>

<property>

    <name>mapred.child.java.opts</name>

    <value>-Xmx1024m</value>

</property>

 6)JVM堆内存溢出(Hive本地运行模式)

        描述:在启用 Hive 本地模式后,hive.log 报错 java.lang.OutOfMemoryError:Java heap space

        解决方案1(临时):

        在 Hive 客户端临时设置 io.sort.mb 和 mapreduce.task.io.sort.mb 两个参数的值为10。

0: jdbc:hive2://hadoop102:10000> set io.sort.mb;

+-----------------+

|       set         |

+-----------------+

| io.sort.mb=100  |

+-----------------+

1 row selected (0.008 seconds)

0: jdbc:hive2://hadoop102:10000> set mapreduce.task.io.sort.mb;

+--------------------------------+

|              set                     |

+--------------------------------+

| mapreduce.task.io.sort.mb=100   |

+--------------------------------+

1 row selected (0.008 seconds)

0: jdbc:hive2://hadoop102:10000> set io.sort.mb = 10;

No rows affected (0.005 seconds)

0: jdbc:hive2://hadoop102:10000> set mapreduce.task.io.sort.mb = 10;

No rows affected (0.004 seconds)

        解决方案(永久生效):

        在 $HIVE_HOME/conf 下添加hive-env.sh。

[xiaowu@hadoop102 conf]$ pwd

/opt/module/hive/conf

[xiaowu@hadoop102 conf]$ cp hive-env.sh.template hive-env.sh

         然后将其中的参数 export HADOOP_HEAPSIZE=1024 的注释放开,然后重启Hive。

7)虚拟内存限制

        在 yarn-site.xml 中添加如下配置:

<property>

    <name>yarn.nodemanager.vmem-check-enabled</name>

    <value>false</value>

 </property>文章来源地址https://www.toymoban.com/news/detail-498481.html

到了这里,关于Hive使用中常见的问题及解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive常见时间日期函数的使用与问题整理

    这里整理一下Hive常见的时间函数和日期函数和用法,作为平时数据处理过程的一个检索和记录。 平时在数据处理过程中,如果不经常使用时间函数,一时间遇到一些时间上的处理,难免会想不起来。 hive本身提供的时间函数已经很丰富了,基本上能满足我们所有的需求,一些

    2024年02月08日
    浏览(45)
  • STM32使用SPI通信时的一些常见问题及解决方法(主,从)

            最近在做一个多MCU的项目时,MCU之间的数据传输使用了SPI通信,在做从机时遇到了一些 “疑难杂症”,研究了半天,总算是把故障排除了,就又总结了一下SPI常遇到的几种问题写出来整理一下。 目录 一、SPI简介:  二、常见问题: 三、疑难杂症: Q1:使用的HAL库,

    2024年02月21日
    浏览(67)
  • 【JAVA】云HIS系统使用和操作过程中的常见问题及解决方法

    一、门诊业务中遇到的问题 (1)门诊医生如何查询往期病人? 答: 点击门诊医生站左侧患者列表,在弹出的页面点击已诊分页,在搜索框输入患者姓名,在结果中找到对应患者,点击详情按钮即可查询患者往期就诊信息,点击想要查询的门诊记录前方的方框即可查询相应的

    2024年02月16日
    浏览(54)
  • Hudi集成Hive时的异常解决方法 java.lang.ClassNotFoundException: org.apache.hudi.hadoop.HoodieParquetInputFormat

    使用 Hive CLI 连接 Hive 3.1.2 并查询对应的 Hudi 映射的 Hive 表,发现如下异常: 根据报错信息 Caused by: java.lang.ClassNotFoundException: org.apache.hudi.hadoop.HoodieParquetInputFormat 推断时缺少相应的 Jar 包所导致的异常。 翻看 Hudi 0.10.0 集成 Hive 的文档,文档链接,可以看到需要将 hudi-hadoop-m

    2024年02月01日
    浏览(58)
  • 手把手教你使用Hexo+GitHub搭建个人博客并发布文章(附常见问题解决方法)

    本教程使用GitHub自带的GitHub pages来生成静态个人博客,而Hexo可以更换各种好看的主题,而且都是免费的,花一点时间就可以打造出自己独有的个人博客。 Hexo这个有力的工具可以让我们专注于写出一篇博客而不需要关心如何编写html和CSS,再如何形成一个网站,它可以根据ma

    2024年02月04日
    浏览(63)
  • [WinForm开源]原神混池模拟器-蒙德篇:软件的基本介绍、使用方法、常见问题解决与代码开源

    首先先和各位旅行者道个歉,混池都过去这么久了才把软件开发好并发布出来 _ 创作目的: 为给各位旅行者(当然包括我自己)估测混池抽取的出货率以及让各位旅行者可以过手瘾,故开发了此项目作为参考。 创作说明: 该软件的一切结果仅可作为参考,并非游戏内所得结

    2024年04月08日
    浏览(101)
  • VS基于Qt上创建项目出现红波浪线线及项目创建不了的问题,给出个人的一个解决方法供给大家参考

    (1)我电脑上的Visual studio 2015和Qt Creator这两个软件都是安装成功可以编译运行的。 我也在Visual studio 2015平台 》 工具 -》》 更新与扩展 那里下载了Qt VS Tools,路径什么的都指定好了但是同样创建不了。 (2)过一段时间这时候我又重新把Qt VS Tools卸载重新安装, 安装好之后重

    2024年02月07日
    浏览(82)
  • Hive中处理中文乱码问题的解决方法

    中文乱码是在处理大数据时经常遇到的问题之一,尤其是在使用Hive进行数据分析和查询时。本文将介绍一些解决Hive中文乱码问题的方法,并提供相应的源代码示例。 设置Hive的字符集编码 在Hive中,可以通过设置字符集编码来解决中文乱码问题。通过在Hive会话中设置\\\"client.

    2024年02月04日
    浏览(39)
  • 最简单方法解决启动hive时报错:Exception in thread “main“ java.lang.RuntimeException: org.apache.hadoop.hdfs.serve

            相信很多人和我一样在启动完集群之后,通过“lsof -i:10000”检测是否启动成功时会遇到如下图这种情况: 等待许久依旧无法启动成功,从而DataGrip无法连接数据库。         经过回头检验发现在启动metastore后,hive检验时报错如下图: 很容易我们可以关注到:

    2024年04月29日
    浏览(69)
  • seatunnel hive source 未设置分隔符导致多个字段合并成一个的问题定位解决

    seatunnel hive source 未设置分隔符导致多个字段没有切分全保存在一个字段中了,翻看源码发现分隔符是是通过delimiter设置的,只要设置这个delimiter=\\\",\\\"就可以了。 设置这个属性 delimiter=“,” 他的默认值是u0001,如果没有设置delimiter属性则会根据文件类型判断,如果是csv则使用”,”

    2024年02月16日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包