EMR 5.21、Spark 2.4 - Json4s 依赖关系已损坏

2024-03-23

Issue

在 EMR 5.21 中,Spark - Hbase 集成已损坏。
df.write.options().format().save() 失败。
原因是 Spark 2.4 中的 json4s-jackson 版本 3.5.3 ,EMR 5.21
它在 EMR 5.11.2 、 Spark 2.2 、 son4s-jackson 版本 3.2.11 中运行良好
问题是这是 EMR,所以我无法使用较低的 json4s 重建 Spark。
有什么解决方法吗?

Error

py4j.protocol.Py4JJavaError:调用 o104.save 时发生错误。 : java.lang.NoSuchMethodError: org.json4s.jackson.JsonMethods$.parse(Lorg/json4s/JsonInput;Z)Lorg/json4s/JsonAST$JValue;

提交

spark-submit --master yarn \
--jars /usr/lib/hbase/  \
--packages com.hortonworks:shc-core:1.1.3-2.3-s_2.11 \
--repositories http://repo.hortonworks.com/content/groups/public/  \
pysparkhbase_V1.1.py s3://<bucket>/ <Namespace> <Table> <cf> <Key>

Code

import sys
from pyspark.sql.functions import concat
from pyspark import SparkContext
from pyspark.sql import SQLContext,SparkSession
spark = SparkSession.builder.master("yarn").appName("PysparkHbaseConnection").config("spark.some.config.option", "PyHbase").getOrCreate()
spark.sql("set spark.sql.parquet.compression.codec=uncompressed")
spark.conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");
data_source_format = 'org.apache.spark.sql.execution.datasources.hbase'
df = spark.read.parquet(file)
df.createOrReplaceTempView("view")
.
cat = '{|"table":{"namespace":"' + namespace + '", "name":"' + name + '", "tableCoder":"' + tableCoder + '", "version":"' + version + '"}, \n|"rowkey":"' + rowkey + '", \n|"columns":{'
.
df.write.options(catalog=cat).format(data_source_format).save()

没有明显的答案。快速检查SHC POM https://github.com/hortonworks-spark/shc/blob/master/pom.xml不显示 json 文件的直接导入,因此您不能只更改该 pom 并自己构建工件。

您必须与 EMR 团队交谈,让他们同步构建连接器和 HBase。

FWIW,让 Jackson 保持同步是发布大数据堆栈的压力点之一,而 AWS SDK 习惯于每两周发布一次更新其要求,这是压力点之一......Hadoop 迁移到 aws 阴影 SDK 纯粹是为了停止AWS 工程决策为每个人定义了选择。

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

EMR 5.21、Spark 2.4 - Json4s 依赖关系已损坏 的相关文章

  • 具有服务器端加密 s3 存储桶的 AWS Cloudfront

    这是对这个问题 https stackoverflow com questions 50166557 how can a cloudfront distribution an aws kms key to get an s3 image e
  • 从本地计算机连接到 AWS 上的 Neptune

    我正在尝试从办公室的本地计算机连接到 AWS 实例中的 Neptune DB 就像从办公室连接到 RDS 一样 是否可以从本地计算机连接 Neptune 数据库 Neptune 数据库是否公开可用 开发人员有什么方法可以从办公室连接 Nep
  • 如何读取一次流数据集并输出到多个接收器?

    我有 Spark 结构化流作业 它从 S3 读取数据 转换数据 然后将其存储到一个 S3 接收器和一个 Elasticsearch 接收器 目前 我正在做readStream一次然后writeStream format start 两次 这
  • Spark:如何使用crossJoin

    我有两个数据框 df1有 100000 行并且df2有 10000 行 我想创建一个df3这是两者的交叉连接 val df3 df1 crossJoin df2 这将产生 10 亿行 尝试在本地运行它 但似乎需要很长时间 您认为本地可以实现
  • 将 Django 部署到 AWS;傻瓜静态文件

    我对这个项目的最后一步完全迷失了 到目前为止 我已经能够开发一个 Django 应用程序 它可以在本地主机上按照我想要的方式工作 我已经能够将网站部署到 AWS EC2 但我一定错过了有关提供静态文件的一些基本知识 我什至还没有尝试过媒体文
  • 使用S3上传但不允许公共访问

    我的想法是创建一个 S3 存储桶以允许用户上传二进制对象 下一步是确认上传 然后 API 将启动文件处理 为了使其更安全 客户端将首先请求上传位置 然后 API 会在 S3 上为此上传分配并预先创建一个一次性使用目录 并在该目录上设置访问策
  • Spark 有没有办法捕获执行器终止异常?

    在执行我的 Spark 程序期间 有时 其原因对我来说仍然是个谜 yarn 会杀死容器 执行器 并给出超出内存限制的消息 我的程序确实恢复了 但 Spark 通过生成一个新容器重新执行任务 但是 在我的程序中 任务还会在磁盘上创建一些中间文
  • 在 ec2 上托管 Rails

    我想将 Rails 部署到亚马逊 ec2 上 我看过 poolparty 和 ec2onrails 但似乎都不再维护了 人们用什么来做到这一点 都是自制的木偶和卡皮斯特拉诺 还是有一个项目可以让我继续下去 我可以推荐两个项目 如果您有一个
  • Spark/Gradle -- 在 build.gradle 中获取 IP 地址以用于启动 master 和worker

    我在基本层面上了解 build gradle 构建脚本的各个移动部分 但无法将它们全部结合在一起 在 Apache Spark 独立模式下 只需尝试从 build gradle 在同一个机器上启动 master 和worker 稍后将使用
  • 在 Spark 结构化流 2.3.0 中连接两个流时,左外连接不发出空值

    两个流上的左外连接不发出空输出 它只是等待记录添加到另一个流中 使用套接字流来测试这一点 在我们的例子中 我们想要发出具有 null 值的记录 这些记录与 id 不匹配或 且不属于时间范围条件 水印和间隔的详细信息如下 val ds1Map
  • AWS Elastic Beanstalk 一次也不会部署我的 Rails 应用程序

    我目前正在使用 Ruby 2 6 running on 64bit Amazon Linux 2 3 0 2 图像 并通过查看EC2实例内部的 var logs eb engine log eb logs 命令不会 t 告诉我这个 反复出现
  • 错误:无法找到或加载主类 org.apache.spark.launcher.Main [重复]

    这个问题在这里已经有答案了 如果有人能帮我解决以下路径问题 我将不胜感激 我非常怀疑这与缺少路径设置有关 但不知道如何修复它 rxie ubuntu Downloads spark echo PATH usr bin java usr lo
  • Spark 2.2 无法将 df 写入 parquet

    我正在构建一个聚类算法 我需要存储模型以供将来加载 我有一个具有以下架构的数据框 val schema new StructType add StructField uniqueId LongType add StructField tim
  • 通过 boto3 承担 IAM 用户角色时访问被拒绝

    Issue 我有一个 IAM 用户和一个 IAM 角色 我正在尝试将 IAM 用户配置为有权使用 STS 承担 IAM 角色 我不确定为什么收到 访问被拒绝 错误 Details IAM 角色 arn aws iam 123456789 r
  • 纱线上的火花,连接到资源管理器 /0.0.0.0:8032

    我正在我的开发机器 Mac 上编写 Spark 程序 hadoop的版本是2 6 spark的版本是1 6 2 hadoop集群有3个节点 当然都在linux机器上 我在idea IDE中以spark独立模式运行spark程序 它运行成功
  • 如何在 Elastic Beanstalk 上添加 PATH

    我想将 PATH 添加到包上eb deploy 软件包安装到 var www html vendor bin 可以通过SSH手动添加 但是如何使用配置文件添加PATH 我有这样的配置文件 ebextensions ec2 config 01
  • Spark scala 模拟 Spark.implicits 用于单元测试

    当尝试使用 Spark 和 Scala 简化单元测试时 我使用 scala test 和mockito scala 以及mockito Sugar 这只是让你做这样的事情 val sparkSessionMock mock SparkSes
  • 将消息从 AWS Lambda 发布到 AWS IoT

    我正在尝试使用 Nodejs 将消息从 AWS Lamba 发布到 AWS IoT 我已压缩该项目并上传到 AWS IoT 下面是代码片段 var awsIot require aws iot device sdk var device a
  • 适用于 Hadoop 的 DynamoDB 输入格式

    我必须使用 Hadoop mapreduce 处理保留在 Amazon Dynamodb 中的一些数据 我在互联网上搜索 Dynamo DB 的 Hadoop InputFormat 但找不到它 我对 Dynamo DB 不熟悉 所以我猜测
  • 如果两个阶段使用相同的 DataFrame,spark 是否会读取同一文件两次?

    以下代码读取相同的 csv 两次 即使只调用一个操作 端到端可运行示例 import pandas as pd import numpy as np df1 pd DataFrame np arange 1 000 reshape 1 1

随机推荐

  • 条形码(Code 128)字体有问题无法扫描

    很容易生成一个3 of 9 http www squaregear net fonts free3of9 shtml条形码使用Font Font f new Font Free 3 of 9 80 this Font f Label l n
  • 参数数量变化的多项式函数

    是否有可能 在Python中 定义参数数量不断变化的多项式类型的函数 参数的数量应该根据我的输入文件中的数据系列的数量而变化 目前我有这样的事情 def y x a0 x2 x3 x4 y a0 a1 x a2 x 2 a3 x 3 ret
  • 我怎样才能在 bouncyCastle 中做到这一点(获取安装的证书)?

    好吧 我对 bouncyCastle 的加密世界还很陌生 也许是一个心理障碍 我似乎找不到 google for 相当于 X509Store store new X509Store StoreName My StoreLocation Cu
  • 有没有更快的方法在 OpenCV 中应用亮度?

    在我的应用程序中 我有以下代码 它将像素的亮度更改 20 for int y 0 y lt src rows y for int x 0 x lt src cols x for int c 0 c lt 3 c src at
  • Typescript:如何在 React 组件中设置子项的类型?

    我可以在 TypeScript 中设置子项的类型吗 例如我有这样的组件 class UserProfile extends React Component lt id number void gt class Thumbnail exten
  • 道场:道场 onblur 事件

    我有一个 dojo 1 5 的表单设置 我正在使用 dijit form ComboBox 和 dijit form TextBox 组合框具有 汽车 自行车 摩托车 等值 文本框是组合框的形容词 因此 组合框中的内容并不重要 但如果组合框
  • C# 修改身份或添加声明

    应用程序是 Blazor Server NET Core 5 0 我正在使用 NET Core 的身份系统 但遇到了问题 我希望将这个人的名字与身份一起存储 以便我可以轻松地调用它 目前我有一个类覆盖基本身份 public class Ap
  • 如何访问 Firefox Web 控制台命令历史记录?

    在 Google Chrome 开发工具中访问最后 30 个 javascript 控制台命令相当容易 取消对接开发工具并按Ctrl Shift I在其中检查 devtools 本身 在新的开发工具窗口中 在控制台中键入以下命令 gt lo
  • 如何删除 MongoDB 中的所有数据库?

    I have a list of databases in my MongoDB How to delete all databases except local admin and config 您可以使用getDBNames 方法中的m
  • iphone sdk 4.2.1 的问题

    可能是个愚蠢的问题 当在调试模式下在设备上运行我的项目时 我收到很多警告 其中包含以下字符串 警告 无法读取符号 Developer Platforms iPhoneOS platform DeviceSupport 4 2 1 8C148
  • 创建 Date 对象时是否应该使用“final”修饰符? [复制]

    这个问题在这里已经有答案了 可能的重复 什么时候应该使用final https stackoverflow com questions 154314 when should one use final Java 程序员什么时候更喜欢使用 f
  • URL 中带有斜杠“/”的路由参数

    我知道您可以在路由属性中应用通配符以允许 例如日期输入例如 Route orders orderdate 通配符的问题仅适用于 URI 中的最后一个参数 如果想要具有以下 URI 我该如何解决该问题 Route orders orderda
  • C#:WebRequest 代理 = null 副作用

    有谁知道吃药有什么副作用吗webrequest proxy null在 HttpWebRequest 中 MSDN NET Framework 4 说要使用GlobalProxySelection GetEmptyWebProxy 当不应该
  • 这应该是这样的吗?

    我的服务器上有这段代码here http smplsite com sandbox2 process asmx 是的 我知道 ASMX 是一个坏主意 但 WCF 由于某种原因根本不起作用 using System Web using Sys
  • 通过 Drupal 执行查询时 Apache Solr 结果不同 – 为什么?

    我正在尝试创建一个自定义搜索界面阿帕奇 索尔 http lucene apache org solr using Drupal http drupal org 我对结果有一些奇怪的问题 当我从 Solr 的内置 Web 界面运行它时 相同的
  • Magento - 客户地址国家/地区下拉列表问题

    我正在使用 Magento CE 1 7 0 2 最近从 1 4 2 0 升级 在后端编辑 创建客户地址时 国家 地区下拉字段为空 无法选择任何选项 它也不适用于前端地址下拉列表 任何想法导致此问题 我能找到的唯一代码提示是 this de
  • C# 中套接字重用有什么好处

    我正在开发开源套接字服务器库 https sourceforge net projects socketservers https sourceforge net projects socketservers 我想向这个库添加套接字重用功能
  • Android 的新 Jack 编译器真的那么慢吗?

    在我的一些 Android 项目中 我发现自从使用新的 Jack 编译器以来 构建速度变得相当慢 我需要它来使用 lambda 等 Java 8 功能 但漫长的建设时间有点令人不安 所以我建立了一个新的Android项目 它只包含一个Mai
  • 在内存中强制渲染 WPF 控件

    我有以下代码 void Test currentImage Source GetBitmap RenderTargetBitmap rtb new RenderTargetBitmap 100 100 96 0 96 0 PixelForm
  • EMR 5.21、Spark 2.4 - Json4s 依赖关系已损坏

    Issue 在 EMR 5 21 中 Spark Hbase 集成已损坏 df write options format save 失败 原因是 Spark 2 4 中的 json4s jackson 版本 3 5 3 EMR 5 21它在