首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EMR 5.21,Spark 2.4 - Json4s依赖关系中断

EMR 5.21,Spark 2.4 - Json4s依赖关系中断
EN

Stack Overflow用户
提问于 2019-03-09 04:36:56
回答 2查看 2.3K关注 0票数 4

问题

在EMR 5.21中,Spark - Hbase集成被破坏。

df.write.options().format().save()失败。

原因是json4s-jackson版本3.5.3在spark 2.4中,EMR 5.21

它在EMR 5.11.2,Spark 2.2,son4s-jackson版本3.2.11中运行良好

问题是这是电子病历,所以我不能重建火花与较低的json4s。

有什么变通方法吗?

错误

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

提交

代码语言:javascript
复制
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>

代码

代码语言:javascript
复制
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()
EN

回答 2

Stack Overflow用户

发布于 2019-03-09 23:32:33

没有明显的答案。快速检查the SHC POM不会显示json文件的直接导入,因此您不能只更改pom并自己构建工件。

您必须与电子病历团队沟通,让他们同步构建连接器和HBase。

FWIW,让jackson同步是发布大数据堆栈的压力点之一,而AWS SDK每两周发布一次需求的习惯是压力点之一……Hadoop迁移到aws shaded SDK纯粹是为了阻止AWS定义每个人的选择的工程决策。

票数 0
EN

Stack Overflow用户

发布于 2020-09-18 17:07:48

将json4s降级到3.2.10可以解决此问题。但我认为这是SHC错误,需要升级它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55070647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档