gpt4 book ai didi

apache-spark - 从不同的 Spark 版本访问 spark-shell

转载 作者:行者123 更新时间:2023-12-01 00:41:49 26 4
gpt4 key购买 nike

TL;博士 :运行 spark-shell(驱动程序)的 Spark 是否绝对需要 完全相同的版本 Spark的主人?

我正在使用 Spark 1.5.0 连接到 Spark 1.5.0-cdh5.5.0 通过 Spark shell :

spark-shell --master spark://quickstart.cloudera:7077 --conf "spark.executor.memory=256m"

它连接、实例化 SparkContext 和 sqlContext 很好。如果我运行:
sqlContext.sql("show tables").show()

它按预期显示了我的所有表格。

但是,如果我尝试从表中访问数据:
sqlContext.sql("select * from t1").show()

我收到此错误:
java.io.InvalidClassException: org.apache.spark.sql.catalyst.expressions.AttributeReference; local class incompatible: stream classdesc serialVersionUID = 370695178000872136, local class serialVersionUID = -8877631944444173448

Full stacktrace

它说 serialVersionUID 不匹配。我的假设是问题是由于尝试连接两个不同版本的 spark 引起的。如果我是对的,有什么想法吗?

最佳答案

你是绝对正确的。

在您的 spark shell 中,您尝试反序列化来自您的 worker (集群)的序列化对象。由于这些类的版本不同,您会得到 java.io.InvalidClassException .

尝试使用相同的 Spark 版本,它会没事的。

关于apache-spark - 从不同的 Spark 版本访问 spark-shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37143991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com