HiveUDF + saxon 9.1.0.8 + Java8 = 未能创建 XPathFactory

2023-12-08

我的 Spark 作业使用 HiveContext 和 Saxon 工作正常,除非代码中没有定义 UDF。在 UDF 实现的情况下 - HiveContext 初始化失败并出现错误。我听说 saxon 9.5.1.5 中解决了 saxon\java8 不兼容问题,该版本尚未在中央 Maven 存储库中作为免费版本发布:

引起原因:java.lang.RuntimeException:XPathFactory#newInstance() 无法为默认对象模型创建 XPathFactory:http://java.sun.com/jaxp/xpath/dom与 XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: java.util.ServiceConfigurationError:javax.xml.xpath.XPathFactory: jar:文件:/JBOD_D19/hadoop/cdh/yarn/nm/usercache/u23120d1/appcache/application_1477998759081_5017/container_e45_1477998759081_5017_01_000001/saxon-xpath-9.1.0.8.jar!/META-INF/服务/javax.xml.xpath.XPathFactory: 2: 非法配置文件语法 javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:102) 在 org.apache.hadoop.hive.ql.udf.xml.UDFXPathUtil.(UDFXPathUtil.java:41) 在 org.apache.hadoop.hive.ql.udf.xml.GenericUDFXPath.(GenericUDFXPath.java:53)


正确的是,在类路径上使用 Java8 中的 XPathFactory.newInstance() 方法和旧版本的 Saxon 会导致此失败。因此,请使用较新版本的 Saxon。当前版本是 9.7.0.11。

Saxon 的最新版本可以在 Maven 中找到。多年来我们一直拒绝将 Saxon 放入 Maven,因为从 Maven 下载不满足我们使用的某些第三方软件组件所需的条件,即在未分发法律条款和条件的情况下不得分发 JAR 文件。由于需求巨大,我们最终态度软化,尽管通过 Maven 分发仍然违反了这一条件。关心这些事情的组织不应该使用 Maven。

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

HiveUDF + saxon 9.1.0.8 + Java8 = 未能创建 XPathFactory 的相关文章

随机推荐

  • 为什么 {.tabset} 不能与 htmltools::tagList 一起使用?

    内容看起来不错 只是有一些没有选项卡的 正常 部分 我也尝试过 Use cat paste0 Number i tabset n 代替htmltools h3 寻找可能的参数tabset TRUE in htmltools h3 最小可重现
  • 如何阻止向联系人拨出电话和短信(防止酒后拨号)

    我正在为一门课程制作一个 Android 应用程序 以防止用户在喝醉时打电话或发短信 基本上 在他们开始喝酒之前 他们会启动应用程序 该应用程序会阻止所有给他们的联系人打出的电话和短信 直到他们回答数学问题以证明他们的清醒 我在尝试阻止呼叫
  • 编辑已编译程序集的 C# 资源文件

    我有一个资源文件 我在其中存储类库的连接字符串等 我不能使用 App config 不要问为什么 我的假设 可能是一个愚蠢的假设 是 我能够在运行时修改已编译程序集之外的 rex 文件 以便能够通过环境更改连接字符串 而无需每次重新编译程序
  • 尝试将二进制文件读取为文本,但扫描仪停在第一行

    我正在尝试读取二进制文件 但我的程序只是停在第一行 我认为这是因为该文件具有奇怪的字符 我只想从中提取一些指示 有没有办法做到这一点 public static void main String args throws IOExceptio
  • Rails JavaScript 视图在生产环境中不起作用

    我的 Rails 应用程序遇到无法解释的问题 我在应用程序的所有部分都使用了大量 JavaScript 在开发中一切工作正常 但在生产中似乎我的 javascript 中的代码views没有被执行 这特别奇怪 因为页面上的所有其他 Java
  • 是否有使用 PDO 关闭 mysql 准备好的语句的函数?

    在 mysqli 准备好的语句中有mysqli stmt close 关闭准备好的声明 stmt gt close 我搜索了 php net 和网络 但找不到 PDO 的替代品 这可能吗 在每个脚本的末尾使用它有什么好处 我明白那个 con
  • 在 XCODE 中检查互联网连接时如何返回 BOOL

    我希望能够在加载视图时检查互联网连接 预先确定我的观点的内容 我有以下 viewDidLoad 方法 void viewDidLoad super viewDidLoad if self hasInternetConnection NSLo
  • 路由错误:url 中的用户名

    我有一个关于 Rails 3 的问题 我想让我的用户控制器显示页面具有 app com people username url Route resources users match people username gt users sho
  • MySQL 搜索并用通配符替换 - 查询

    是否可以在使用通配符的同时执行 MySQL 搜索和替换 eg search id wildcard houselisting rental gt replace class house rentals gt query UPDATE tab
  • 可达性网络更改事件未触发

    我的 iPhone 应用程序非常简单 只有一个视图可以处理所有事情 在 viewDidLoad 中我检查是否有互联网连接 如果有 我们从网络加载 如果没有 我们从本地资源加载 这很好用 in viewDidOnload NSNotifica
  • 我可以使用类助手调用静态私有类方法吗?

    我特别觉得有必要TCharacter IsLatin1这是private type TCharacterHelper class helper for TCharacter public class function IsLatin1 C
  • JavaFX 2 StringProperty 在封闭方法返回之前不会更新字段

    我想更新 JavaFX 应用程序中的标签 以便文本在方法运行时多次更改 private void analyze labelString setValue Analyzing labelString is bound to the Labe
  • 禁用 wpf 窗口上的鼠标事件以及放置在其上的用户控件

    我有一个 wpf 窗口 上面有许多用户控件 我应该使用哪个事件 函数来限制主窗口上的鼠标输入以及它所托管的用户控件 Try the UIElement IsHitTestVisible财产
  • CSS 将比例转换为背景图像

    我很喜欢 CSS 部分对图像的影响 split banner right cl hover img webkit transform scale 1 1 transform scale 1 1 我需要将上面的 CSS 应用到 div 元素中
  • MongoDB - 使用聚合管道进行评论赞成/反对

    我正在尝试实现评论的赞成 反对机制 类似于 reddit 上的赞成 反对机制 我有一个单独的集合 名为commentReputation里面的文档可以是这样的 id ObjectId 5e5acb6d6034a879655c8819 com
  • 如何打开;另存为;然后从 PowerShell4 关闭 Excel 2013(启用宏)工作簿

    对上述 Com 操作进行搜索会产生 09 年甚至更早的链接 也许它没有改变 但我发现自己遇到了 它正在被另一个进程使用 的错误 即使我的桌面上没有打开 Excel 应用程序 我必须重新启动才能恢复 需要明确的是 我正在尝试打开一个现有文件
  • Heroku 应用程序启动超时

    我有一个相当大的 2 3 升级到 Rails 3 应用程序 它足够厚 无法通过 Heroku 的 60 秒启动门 因此它崩溃了 我已经做了很多工作来最大限度地减少 Gems 和初始化程序中的加载时间 但是有一些随机过程会消耗时间 而且我不太
  • C 解读声明

    好吧 这对我来说有点太多了 您如何阅读这些声明 char myCBT 10 请注意 我并不是专门要求提供这个示例 而是要求像我这样的初学者面临这样的难题时的一般经验法则 使用大卫 安德森的顺时针螺旋规则用于阅读此类符号
  • System.IO.FileSystemWatcher 的底层是如何工作的?

    我想了解 System IO FileSystemWatcher 在幕后是如何工作的 因为我有一个要求 我需要查看 100 个或更多文件夹下的所有文件 其中每个文件夹将包含大约 1K 个文件 我不确定我是否使用 FileSystemwatc
  • HiveUDF + saxon 9.1.0.8 + Java8 = 未能创建 XPathFactory

    我的 Spark 作业使用 HiveContext 和 Saxon 工作正常 除非代码中没有定义 UDF 在 UDF 实现的情况下 HiveContext 初始化失败并出现错误 我听说 saxon 9 5 1 5 中解决了 saxon ja