2

按照spark-atlas-connector的说明进行操作后。运行简单代码以在 spark 中创建表时出现以下错误

Spark2 2.3.1 阿特拉斯 1.0.0

批处理cmd是:

spark-submit --jars /home/user/spark-atlas-connector/spark-atlas-connector-assembly/target/spark-atlas-connector-assembly-0.1.0-SNAPSHOT.jar
--conf spark.extraListeners=com.hortonworks.spark.atlas.SparkAtlasEventTracker
--conf spark.sql.queryExecutionListeners=com.hortonworks.spark.atlas.SparkAtlasEventTracker
--conf spark.sql.streaming.streamingQueryListeners=com.hortonworks.spark.atlas.SparkAtlasStreamingQueryEventTracker
--files /home/user/atlas-application.properties
--master local
/home/user/SparkAtlas/test.py

com.hortonworks.spark.atlas.sql.SparkCatalogEventProcessor.process(SparkCatalogEventProcessor.scala:36) 处的线程“SparkCatalogEventProcessor-thread”java.lang.NoClassDefFoundError: org/apache/spark/sql/catalyst/catalog/ExternalCatalogWithListener 中的异常.hortonworks.spark.atlas.sql.SparkCatalogEventProcessor.process(SparkCatalogEventProcessor.scala:28) at com.hortonworks.spark.atlas.AbstractEventProcessor$$anonfun$eventProcess$1.apply(AbstractEventProcessor.scala:72) at com.hortonworks.spark .atlas.AbstractEventProcessor$$anonfun$eventProcess$1.apply(AbstractEventProcessor.scala:71) at scala.Option.foreach(Option.scala:257) at com.hortonworks.spark.atlas.AbstractEventProcessor.eventProcess(AbstractEventProcessor.scala:71 ) 在 com.hortonworks.spark.atlas.AbstractEventProcessor$$anon$1.run(AbstractEventProcessor.scala:38) 原因:java.lang.ClassNotFoundException: org.apache.spark.sql.catalyst.catalog.ExternalCatalogWithListener at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader. java:424) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)

提前致谢。

4

1 回答 1

2

这清楚地表明 jar 版本不匹配

对于最新的地图集版本 2.0.0... 下面是依赖项

  <spark.version>2.4.0</spark.version>
    <atlas.version>2.0.0</atlas.version>
    <scala.version>2.11.12</scala.version>

对于 Atlas 1.0.0,请参阅pom.xml ......这些是依赖项

 <spark.version>2.3.0</spark.version>
    <atlas.version>1.0.0</atlas.version>
    <scala.version>2.11.8</scala.version>

通过查看链接中提到的 pom.xml 尝试使用正确版本的 jar。

注意:
1)如果您通过看到错误并下载它来添加一个罐子......以及另一个地方,您将遇到障碍。建议您使用正确的版本。
2) Spark 在 Java 8+、Python 2.7+/3.4+ 和 R 3.1+ 上运行。对于 Scala API,Spark 2.3.1 使用 Scala 2.11。您将需要使用兼容的 Scala 版本 (2.11.x)。检查您的scala版本,因为您在问题中没有提到。

于 2020-05-06T22:38:44.717 回答