Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 火花<;控制台>;:12:错误:未找到:值sc_Scala_Apache Spark_Distributed Computing - Fatal编程技术网

Scala 火花<;控制台>;:12:错误:未找到:值sc

Scala 火花<;控制台>;:12:错误:未找到:值sc,scala,apache-spark,distributed-computing,Scala,Apache Spark,Distributed Computing,我写了以下内容: val a = 1 to 10000 val b = sc.parallelize(a) 它显示的错误是: <console>:12: error: not found: value sc :12:错误:未找到:值sc 有什么帮助吗?当您的类路径不正确时,就会出现这种情况。这是目前的一个亮点 > spark-shell ... ... 14/08/08 18:41:50 INFO SparkILoop: Created spark context..

我写了以下内容:

val a = 1 to 10000
val b = sc.parallelize(a)
它显示的错误是:

<console>:12: error: not found: value sc
:12:错误:未找到:值sc

有什么帮助吗?

当您的类路径不正确时,就会出现这种情况。这是目前的一个亮点

> spark-shell 

...
...
14/08/08 18:41:50 INFO SparkILoop: Created spark context..
Spark context available as sc.

scala> sc
res0: org.apache.spark.SparkContext = org.apache.spark.SparkContext@2c1c5c2e

scala> :cp /tmp
Added '/tmp'.  Your new classpath is:
...

scala> sc
<console>:8: error: not found: value sc
火花壳 ... ... 14/08/08 18:41:50信息Sparkiop:已创建spark上下文。。 Spark上下文作为sc提供。 scala>sc res0:org.apache.spark.SparkContext=org.apache.spark。SparkContext@2c1c5c2e scala>:cp/tmp 添加了“/tmp”。您的新类路径是: ... scala>sc :8:错误:未找到:值sc
您可能需要从repl外部更正类路径。

在Cloudera Quickstart VM上尝试Spark时,我遇到了这个错误。原来是
/user/spark
上的hdfs文件权限问题

我无法切换到用户“spark”,我得到了一个用户不可用的错误。 用下面的命令更改文件权限为我解决了这个问题

sudo -u hdfs hadoop fs -chmod -R 1777 /user/spark

scala> val data = 1 to 10000
data: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170...
scala> val distData = sc.parallelize(data)
distData: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize at <console>:14
sudo-uhdfs-hadoop-fs-chmod-r1777/user/spark
scala>val数据=1到10000
数据:scala.collection.immutable.Range.Inclusive=范围(1,2,3,4,5,6,161,162,163,164,165,166,167,168,169,170。。。
scala>val distData=sc.parallelize(数据)
distData:org.apache.spark.rdd.rdd[Int]=ParallelCollectionRDD[0]位于parallelize at:14

您会收到此错误,因为未定义
sc
。我会尝试:

sc = SparkContext(appName = "foo")

我经常遇到的另一件事是在集群中没有获得Kerberos票证,因为我也忘了



至于Solnanki提到的“Spark中的未解决问题”,我很确定情况不再如此。

运行Spark shell命令后,首先检查日志文件 SparkContext是否初始化为sc。 如果SparkContext未正确初始化

您必须在spark环境中设置IP地址

在conf/spark.env.sh中打开env文件,并添加下面的行


导出SPARK_LOCAL_IP=“127.0.0.1”

我也遇到了同样的问题。在我的例子中,JAVA_HOME没有正确设置,这导致了这个问题。令人惊讶的是,SPARK会启动,但sc上下文在创建实例时遇到了问题。当我修复JAVA_HOME以指向正确的JAVA目录时,这个问题得到了解决。我必须关闭会话并重新打开一个新的会话,以确保更新路径并打开新会话


我希望这能有所帮助。

在我的情况下,我在本地windows系统上安装了spark,我发现了相同的错误,但这是因为以下问题

问题:由以下原因引起:java.lang.RuntimeException:HDFS上的根暂存目录:/tmp/hive应该是可写的

这是因为权限问题。我通过使用下面的命令更改权限来解决它。虽然日志显示“在hdfs上”,但这是在windows系统上

E:\winutils\bin\winutils.exe chmod 777 E:\tmp\hive

如中所述,一种解决方案可能是关闭权限检查

在cloudera manager中,转到高级下的hdfs配置,并将以下代码放入“hdfs site.xml的hdfs服务高级配置片段(安全阀)”中:


dfs.0权限
假的
之后,需要重新启动HDFS组件


它对我很有用。但是,它可能不适合于生产环境。

sc ie.Spark上下文在shell启动时可用“在shell启动时可用”。或者更确切地说,它没有。请提供有关您为获得该错误而采取的步骤的更多详细信息?在repl中是否有任何导入语句或类路径更改?@GovindSinghNagarkoti哇:)其他用户的评论:响应:上面的代码生成了一条关于SparkContext不使用任何参数的警告。所以只要试试:
val sc=SparkContext
就可以解决我的问题
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>