【问题标题】:illegal cyclic reference involving error with Spark+Scala combine涉及 Spark+Scala 组合错误的非法循环引用
【发布时间】:2017-09-04 12:14:07
【问题描述】:

我在使用 Spark+Scala 组合时遇到非法循环引用错误。

Error Ocured during job for '1473170880000000' and Error Message is scala.reflect.internal.Symbols$CyclicReference: illegal cyclic reference involving method srcip
    at scala.reflect.internal.Symbols$Symbol$$anonfun$info$3.apply(Symbols.scala:1220)
    at scala.reflect.internal.Symbols$Symbol$$anonfun$info$3.apply(Symbols.scala:1218)
    at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
    at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
    at scala.reflect.internal.Symbols$Symbol.lock(Symbols.scala:482)
    at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1218)
    at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1374)
    at scala.reflect.internal.Symbols$Symbol.privateWithin(Symbols.scala:1169)
    at scala.reflect.internal.Symbols$Symbol.hasAccessBoundary(Symbols.scala:1176)
    at scala.reflect.internal.HasFlags$class.isPublic(HasFlags.scala:111)
    at scala.reflect.internal.Symbols$Symbol.isPublic(Symbols.scala:112)
    at com.datastax.spark.connector.util.ReflectionUtil$$anonfun$2.apply(ReflectionUtil.scala:77)

Error Ocured during job for '1453743420000000' and Error Message is scala.MatchError: <error> (of class scala.reflect.internal.Types$ErrorType$)
    at com.datastax.spark.connector.util.ReflectionUtil$.returnType(ReflectionUtil.scala:113)

当我尝试同时执行多个作业时会发生此错误。它闻起来像多线程问题。不是吗?从 Cassandra 加载数据(执行我的第一个操作时)或将数据保存到 Cassandra 时会出现此错误rdd.saveToCassandra(...)

我的依赖详情

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>1.6.2</version>
    </dependency>

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.10</artifactId>
        <version>1.6.2</version>
    </dependency>

    <dependency>
        <groupId>com.datastax.spark</groupId>
        <artifactId>spark-cassandra-connector_2.10</artifactId>
        <version>1.6.0</version>
    </dependency>

    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>dse-driver</artifactId>
        <version>1.1.0</version>
    </dependency>

    <dependency>
        <groupId>com.datastax.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>3.0.2</version>
    </dependency>

驱动错误日志

对此高度赞赏的任何建议/帮助。有人遇到过这个问题吗?

【问题讨论】:

  • 你能解决这个问题吗?我也面临同样的问题。

标签: scala apache-spark cassandra datastax-enterprise datastax-enterprise-graph


【解决方案1】:

问题终于解决了。我的应用程序和 spark 二进制文件是在 Scala 2.10 上构建的。似乎 Scala 2.10 存在反射/多线程问题,它作为建议发布在我经历过的一些论坛上。

解决方法是,我使用 Scala 2.11 构建了我的应用程序,并使用了基于 2.11 构建的 Spark 库。问题消失了。

更新的依赖项

org.apache.spark 火花核心_2.11 1.6.2

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.11</artifactId>
    <version>1.6.2</version>
</dependency>

<dependency>
    <groupId>com.datastax.spark</groupId>
    <artifactId>spark-cassandra-connector_2.11</artifactId>
    <version>1.6.0</version>
</dependency>

希望这会对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 2012-11-05
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    相关资源
    最近更新 更多