【问题标题】:Scala error: value $ is not a member of object org.apache.spark.api.java.JavaSparkContextScala 错误:值 $ 不是对象 org.apache.spark.api.java.JavaSparkContext 的成员
【发布时间】:2017-10-19 16:02:22
【问题描述】:

我是 Spark 的新手。我正在尝试在 Spark shell 中运行以下代码:

import org.apache.spark.api.java.JavaSparkContext
import org.apache.hadoop.conf
JavaSparkContext context = new JavaSparkContext(conf);

但我收到以下错误:

<console>:32: error: value context is not a member of object 
org.apache.spark.api.java.JavaSparkContext
val $ires10 = JavaSparkContext.context
                           ^
<console>:29: error: value context is not a member of object 
org.apache.spark.api.java.JavaSparkContext
     JavaSparkContext context = new JavaSparkContext(conf);

我是否缺少任何导入语句?我也加了

import org.apache.spark.api.java.JavaSparkContext._

但它仍然没有工作。请帮忙。

【问题讨论】:

    标签: scala shell apache-spark


    【解决方案1】:

    更新:配置是否有效是您必须处理的事情,但这解决了您在原始问题中提出的错误。

    您的代码(几乎)是有效的Java,但不是有效的Scala。你的意思是这样的:

    import org.apache.spark.api.java.JavaSparkContext
    
    val context = new JavaSparkContext()
    

    或者,由于您使用的是 Scala,因此您可能想试试这个。

    import org.apache.spark.SparkContext
    
    val context = new SparkContext()
    

    至于您报告的错误,Scala 会将声明 JavaSparkContext context 视为对名为 object 的名为 context 的成员的引用,该成员名为 JavaSparkContext - 而不是变量Java 中的声明。

    【讨论】:

    • 我之前确实尝试过,但我收到一个错误提示 :38: error: package org.apache.hadoop.conf is not a value
    • 这可能是因为org.apache.hadoop.conf 是一个包,而不是一个配置实例。您需要确定如何创建传递给JavaSparkContext 的构造函数的对象。
    猜你喜欢
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2015-10-03
    • 2015-08-06
    • 2016-05-01
    相关资源
    最近更新 更多