Hive 因 java.lang.InknownClassChangeError 崩溃

2023-12-31

运行“select * from employee”时,针对 Hadoop 3.2.0 运行 hive 3.1.1 会崩溃

java.lang.IncompatibleClassChangeError: Class com.google.common.collect.ImmutableSortedMap does not implement the requested interface java.util.NavigableMap

命令如show tables一切都运行良好,并且数据也可以从 CLI 正常加载。

检查了各种其他命令,例如数据加载等。使用 MySQL 作为元存储MySQL-connector-java-5.1.47.jar。唯一的其他观察是有时我得到

WARN DataNucleus.MetaData: Metadata has jdbc-type of null yet this is not valid. Ignored

其他人似乎也明白这一点,并且似乎不会影响我在这里。 有人也看到过这个吗?帮助非常感谢...

2019-04-02 16:24:41,643 INFO metastore.HiveMetaStore: 0: Done cleaning up thread local RawStore
2019-04-02 16:24:41,645 INFO HiveMetaStore.audit: ugi=fdai0145  ip=unknown-ip-addr      cmd=Done cleaning up thread local RawStore
Exception in thread "main" java.lang.IncompatibleClassChangeError: Class com.google.common.collect.ImmutableSortedMap does not implement the requested interface java.util.NavigableMap
        at org.apache.calcite.schema.Schemas.gatherLattices(Schemas.java:498)
        at org.apache.calcite.schema.Schemas.getLatticeEntries(Schemas.java:492)
        at org.apache.calcite.jdbc.CalciteConnectionImpl.init(CalciteConnectionImpl.java:153)
        at org.apache.calcite.jdbc.Driver$1.onConnectionInit(Driver.java:109)
        at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:139)
        at java.sql.DriverManager.getConnection(DriverManager.java:664)
        at java.sql.DriverManager.getConnection(DriverManager.java:208)
        at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:150)
        at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:111)
        at org.apache.hadoop.hive.ql.parse.CalcitePlanner.logicalPlan(CalcitePlanner.java:1414)
        at org.apache.hadoop.hive.ql.parse.CalcitePlanner.getOptimizedAST(CalcitePlanner.java:1430)
        at org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:450)
        at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12161)
        at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:330)
        at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:285)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:659)
        at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1826)
        at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1773)
        at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1768)
        at org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
        at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:214)
        at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:239)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:188)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:402)
        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:821)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:236).

也许这是一个迟到的答案,但我确实遇到了同样的问题。就我而言,我发现hive-execMaven 工件的 jar 文件正在影响 Google 集合框架。现在,由于我已经看到其他 Hadoop/Hive 工件也使用 Google Guava(如果我没记错的话,版本 11),方解石很有可能会找到错误的类定义ImmutableSortedMap(来自番石榴 11)。

对我来说,从我的代码使用的 Hadoop/Hive 工件中排除番石榴,使得 calcite 从 Google 集合中找到正确的类版本。

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-minicluster</artifactId>
    <version>${hadoop.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-exec</artifactId>
    <version>${hive.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>${hive.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </exclusion>
    </exclusions>
</dependency>

这可能是一个应该向 Hive 项目报告的问题,因为此类类路径冲突错误很难诊断。内部着色工件应具有项目自己的包前缀,以指示相关外部代码的显式着色。

那好吧。希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive 因 java.lang.InknownClassChangeError 崩溃 的相关文章

  • Spark on Hive SQL 查询错误 NoSuchFieldError: HIVE_STATS_JDBC_TIMEOUT

    针对 Hive 2 1 0 提交 Spark 1 6 0 SQL 应用程序时出现错误 Exception in thread main java lang NoSuchFieldError HIVE STATS JDBC TIMEOUT a
  • 运行 Sqoop 导入和导出时如何找到最佳映射器数量?

    我正在使用 Sqoop 版本 1 4 2 和 Oracle 数据库 运行 Sqoop 命令时 例如这样 sqoop import fs
  • 在蜂巢中出现错误

    当我连接到 ireport 时 如果说在 hive shell 中显示表 则会出现此错误 元数据错误 java lang RuntimeException 无法实例化 org apache hadoop hive metastore Hiv
  • 公平调度器和容量调度器有什么区别?

    我是 Hadoop 世界的新手 想了解公平调度程序和容量调度程序之间的区别 另外我们什么时候应该使用每一个 请简单地回答一下 因为我在网上读了很多东西 但从中得到的不多 公平调度是一种为作业分配资源的方法 使得所有作业随着时间的推移平均获得
  • Hadoop-reducer 如何获取数据?

    据我所知 映射器为每个减速器生成 1 个分区 减速器如何知道要复制哪个分区 假设有 2 个节点运行用于字数统计程序的映射器 并且配置了 2 个缩减器 如果每个映射节点生成 2 个分区 并且两个节点中的分区都可能包含相同的单词作为键 那么减速
  • 适用于 Python 3.x 的 Hive 客户端

    是否可以使用 Python 3 x 连接到 hadoop 并运行 hive 查询 我正在使用Python 3 4 1 我发现可以按照这里写的方式完成 https cwiki apache org confluence display Hiv
  • Python 包安装:pip 与 yum,还是两者一起安装?

    我刚刚开始管理 Hadoop 集群 我们使用 Bright Cluster Manager 直至操作系统级别 CentOS 7 1 然后使用 Ambari 以及适用于 Hadoop 的 Hortonworks HDP 2 3 我不断收到安装
  • 无法在 Presto 中读取数据 - 在 Hive 中可以读取数据

    我有一个 Hive DB 我创建了一个与 Parquet 文件类型兼容的表 CREATE EXTERNAL TABLE default table date date udid string message token string PAR
  • Impala:如何查询具有不同模式的多个镶木地板文件

    在 Spark 2 1 中我经常使用类似的东西 df spark read parquet path to my files parquet 即使具有不同的模式 也可以加载镶木地板文件的文件夹 然后我使用 SparkSQL 对数据帧执行一些
  • 在 Google Cloud Dataproc 环境中使用 Hadoop 流式处理运行 python map reduce 作业时出错

    我想使用 hadoop 流方法在 Google Cloud Dataproc 中运行 python map reduce 作业 我的map reduce python脚本 输入文件和作业结果输出位于Google Cloud Storage中
  • sqoop 通过 oozie 导出失败

    我正在尝试将数据导出到mysql from hdfs通过sqoop 我可以通过 shell 运行 sqoop 并且它工作正常 但是当我通过调用oozie 它出现以下错误并失败 我还包括了罐子 没有描述性日志 sqoop脚本 export c
  • 是否可以通过编写单独的mapreduce程序并行执行Hive查询?

    我问了一些关于提高 Hive 查询性能的问题 一些答案与映射器和减速器的数量有关 我尝试使用多个映射器和减速器 但在执行中没有看到任何差异 不知道为什么 可能是我没有以正确的方式做 或者我错过了其他东西 我想知道是否可以并行执行 Hive
  • Spark/Yarn:HDFS 上不存在文件

    我在 AWS 上设置了 Hadoop Yarn 集群 有 1 个主服务器和 3 个从服务器 我已经验证我有 3 个活动节点在端口 50070 和 8088 上运行 我在客户端部署模式下测试了 Spark 作业 一切正常 当我尝试使用 Spa
  • hive 中的授予权限在 hdp2.2 上不起作用

    我正在 CentOS 6 5 上使用 Ambari 设置来试验 HDP2 2 集群 但在运行 Hive GRANT 查询时遇到问题 例如 一个查询 grant select on Tbl1 to user root 给了我一个看起来像这样的
  • 将数据从 .txt 文件加载到 Hive 中以 ORC 形式存储的表

    我有一个数据文件位于 txt格式 我正在使用该文件将数据加载到 Hive 表中 当我将文件加载到类似表中时 CREATE TABLE test details txt visit id INT store id SMALLINT STORE
  • MapReduce 中的分区到底是如何工作的?

    我认为我总体上对 MapReduce 编程模型有一定的了解 但即使在阅读了原始论文和其他一些来源之后 我仍然不清楚许多细节 特别是关于中间结果的分区 我将快速总结到目前为止我对 MapReduce 的理解 我们有一个可能非常大的输入数据集
  • MapReduce 中 1 个任务的减速器数量

    在典型的 MapReduce 设置 如 Hadoop 中 1 个任务使用多少个减速器 例如计算单词数 我对 Google MapReduce 的理解意味着只涉及 1 个减速器 那是对的吗 例如 单词计数会将输入分为 N 个块 并且 N 个
  • Hadoop fs 查找块大小?

    在 Hadoop fs 中如何查找特定文件的块大小 我主要对命令行感兴趣 例如 hadoop fs hdfs fs1 data 但看起来这并不存在 有Java解决方案吗 The fsck其他答案中的命令列出了块并允许您查看块的数量 但是 要
  • hive regexp_extract 怪异

    我在 regexp extract 方面遇到一些问题 我正在查询制表符分隔的文件 我正在检查的列具有如下所示的字符串 abc def ghi 现在 如果我这样做 select distinct regexp extract name 0 f
  • 如何配置Hive仓库路径?

    我修改了这部分

随机推荐

  • 错误:“x”未命名类型

    当我尝试声明类 Game 的实例时 我收到 main cpp 的编译错误 错误 游戏 未命名类型 如果可能并不重要 但我正在使用代码块 Game cpp中的相关代码 include include main h class Game pri
  • Chrome 扩展程序弹出窗口按条件显示

    我想通过点击显示弹出窗口 但前提是条件为假 单击扩展图标后台 js 后 搜索具有当前名称的选项卡 如果选项卡找到后台js继续工作 如果没有找到 我想显示带有说明的弹出窗口 无法理解如何在这种情况下仅显示弹出窗口 我可以通过 browserA
  • 正则表达式检查字符串中的连续 3 位数字

    我想要java中的正则表达式来检查字符串是否包含连续的3位数字 但问题是我的字符串可能包含 unicode 字符 如果字符串包含 unicode 字符 则应跳过 unicode 字符 跳过 AND 之后的 4 并进行检查 一些例子是 Nee
  • 如何仅使用 JavaScript 获取下一个元素?

    假设我们有这个标记 h1 some project mdash javascript html tests h1 hr p testing 123 p 我知道有 prependChild appendChild innerHTML等属性和方
  • 在 Rails 资源管道中使用字体

    我在 Scss 文件中配置了一些字体 如下所示 font face font family Icomoon src asset url icoMoon eot iefix font format embedded opentype asse
  • ffmpeg 转换 x264 [错误]:大小为 769152 的 malloc 失败

    我正在尝试将从 Android 智能手表 mp4 格式 录制的视频转换为可在所有浏览器上播放的格式 mp4 从智能手表录制的视频未在浏览器中播放 所以 我使用 ffmpeg 将其转换为可播放的 mp4 格式 但有时它会显示错误x264 er
  • keras中的加权mse自定义损失函数

    我正在处理时间序列数据 输出未来 60 天的预测数据 我目前使用均方误差作为我的损失函数 结果很糟糕 我想实现一个加权均方误差 使得早期的输出比后来的输出重要得多 加权均方根公式 因此 我需要某种方法来使用索引迭代张量的元素 因为我需要同时
  • Angular4 的 Wysiwyg 编辑器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道与 Angular 4 兼容的免费 Wysiwyg 编辑器吗 Froala 似乎不错 但不幸的是
  • 观察事件以隐藏闪亮的操作按钮

    在我的 Shiny 应用程序中 我试图包含显示或隐藏操作按钮的逻辑 具体取决于 ui R 中是否定义了另一个用户输入 由于应用程序中存在其他一些复杂性 我无法使用 uiOutput renderUI 功能来执行此操作 我的方法是为输入创建一
  • 未能延迟初始化集合

    我正在为我的数据库开发一个安静的网络服务 我正在使用 jpa 从数据库和 spring 中检索数据以用于架构 我已经使用基本的 dao 查询 findById save 测试了该架构 并且它运行得很好 然后在 dao 实现中我添加了一个新方
  • Jquery 拖放 - 单击事件在拖放时注册

    我正在使用 jquery 拖放 可拖动元素是一个 div 其中有两个左右浮动的嵌套 div 放置时 左侧嵌套的 div 包含文本 将启用单击事件 element left click function e window open ui dr
  • 为什么在 Cassandra 启动时仍然出现 JNA 错误,即使 jna.jar 和 platform.jar 都在 lib 目录中?

    我已下载 Jna jar 和 Platform jar 并将其复制到 usr cassandra apache cassandra 1 0 7 lib 文件夹 但在 Cassandra 启动时仍然看到以下错误 我是否遗漏了什么 On cas
  • 无法在firebase控制台中显示已部署的云功能

    我尝试将云功能部署到 firebase 但我很困惑 在命令提示符和 firebase console gt project gt functions 之间 因为在命令提示符下显示部署成功但是在 功能选项卡没有任何功能 我按照以下步骤进行部署
  • 定期付款的快速结帐不适用于德国付款人

    我目前正在使用 ExpressCheckout 和 RecurringPayments 开发 PayPal 付款交易 测试软件后 德国 买家登录 paypal 确认付款后 我收到以下消息 Zurzeit k nnen wir Ihre An
  • Swift:检查字符串是否包含字符? [复制]

    这个问题在这里已经有答案了 如何检查特定的string String含有一定的character Character string contains character Example let string Hello World let
  • Django Rest Framework,ajax POST 有效,但 PATCH 抛出 CSRF 失败:CSRF 令牌丢失或不正确

    我正在将我的项目移植到 Django Rest Framework 来为我的项目制作一个合适的 REST Api 我认为这对设计 API 并使其健壮有很大帮助 但我遇到了一个问题 我有一个入门模型和关联的ListCreateAPIView
  • 垂直求和直到 Google 表格上的空单元格

    This is the scenario I need to get the sum of the values until it reaches a blank cell After that it should start again
  • 多维数组初始化似乎对空格敏感

    我注意到这两个声明之间的区别 其中只有逗号的位置发生了变化 a a b c d b a b c d 在这种情况下 a length评估结果为 2 且 b length计算结果为 3 第一个子数组 b已被压扁 这是一个功能吗 在哪里可以找到它
  • 如何将键值对插入到 python 列表中?

    a 1 b 2 我想将 a b 插入到空白的 python 列表中 list as a b 正确的语法是什么 结果是 a b c d 这只是为了以后我可以按值从最小到最大对列表进行排序 如何将键值对插入到 python 列表中
  • Hive 因 java.lang.InknownClassChangeError 崩溃

    运行 select from employee 时 针对 Hadoop 3 2 0 运行 hive 3 1 1 会崩溃 java lang IncompatibleClassChangeError Class com google comm