【问题标题】:<console>:22: error: not found: value sc<控制台>:22: 错误: 未找到: 值 sc
【发布时间】:2016-08-16 06:22:47
【问题描述】:

我是 Spark 的新手,正在学习 Spark。在实践中,面临以下几个问题。多步,静久。 我在 UNIX 环境中使用 spark-shell。出现如下错误。

第一步

$火花壳 欢迎来到 ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ 版本 1.3.1 /_/ 使用 Scala 版本 2.10.4(Java HotSpot(TM) 64 位服务器 VM,Java 1.7.0_25) 输入表达式以对其进行评估。 键入 :help 以获取更多信息。 2016-04-22 07:44:31,5095 错误 JniCommon fs/client/fileclient/cc/jni_MapRClient.cc:1473 线程:/user/cni/.sparkStaging/application_1459074732364_1192326 的 20535 mkdirs 失败,错误 13 org.apache.hadoop.security.AccessControlException:用户 cni(用户 id 5689)已被拒绝访问创建应用程序_1459074732364_1192326 在 com.mapr.fs.MapRFileSystem.makeDir(MapRFileSystem.java:1100) 在 com.mapr.fs.MapRFileSystem.mkdirs(MapRFileSystem.java:1120) 在 org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:1851) 在 org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:631) 在 org.apache.spark.deploy.yarn.Client.prepareLocalResources(Client.scala:224) 在 org.apache.spark.deploy.yarn.Client.createContainerLaunchContext(Client.scala:384) 在 org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:102) 在 org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:58) 在 org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:141) 在 org.apache.spark.SparkContext.(SparkContext.scala:381) 在 org.apache.spark.repl.SparkILoop.createSparkContext(SparkILoop.scala:1016) 在 $iwC$$iwC.(:9) 在 $iwC.(:18) 在 (:20) 在 .(:24) 在 。() 7岁时) 在 。() 在 $print() 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065) 在 org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1338) 在 org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840) 在 org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871) 在 org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819) 在 org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:856) 在 org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:901) 在 org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:813) 在 org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:123) 在 org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:122) 在 org.apache.spark.repl.SparkIMain.beQuietDuring(SparkIMain.scala:324) 在 org.apache.spark.repl.SparkILoopInit$class.initializeSpark(SparkILoopInit.scala:122) 在 org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:64) 在 org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$$process$1$$anonfun$apply$mcZ$sp$5.apply$mcV$sp(SparkILoop.scala:973) 在 org.apache.spark.repl.SparkILoopInit$class.runThunks(SparkILoopInit.scala:157) 在 org.apache.spark.repl.SparkILoop.runThunks(SparkILoop.scala:64) 在 org.apache.spark.repl.SparkILoopInit$class.postInitialization(SparkILoopInit.scala:106) 在 org.apache.spark.repl.SparkILoop.postInitialization(SparkILoop.scala:64) 在 org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$$process$1.apply$mcZ$sp(SparkILoop.scala:990) 在 org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$$process$1.apply(SparkILoop.scala:944) 在 org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$$process$1.apply(SparkILoop.scala:944) 在 scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135) 在 org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$process(SparkILoop.scala:944) 在 org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1058) 在 org.apache.spark.repl.Main$.main(Main.scala:31) 在 org.apache.spark.repl.Main.main(Main.scala) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:569) 在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:166) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:189) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:110) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) java.lang.NullPointerException 在 org.apache.spark.sql.SQLContext.(SQLContext.scala:145) 在 org.apache.spark.sql.hive.HiveContext.(HiveContext.scala:49) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 org.apache.spark.repl.SparkILoop.createSQLContext(SparkILoop.scala:1027) 在 $iwC$$iwC.(:9) 在 $iwC.(:18) 在 (:20) 在 .(:24) 在 。() 7岁时) 在 。() 在 $print() 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065) 在 org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1338) 在 org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840) 在 org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871) 在 org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819) 在 org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:856) 在 org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:901) 在 org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:813) 在 org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:130) 在 org.apache.spark.repl.SparkILoopInit$$anonfun$initializeSpark$1.apply(SparkILoopInit.scala:122) 在 org.apache.spark.repl.SparkIMain.beQuietDuring(SparkIMain.scala:324) 在 org.apache.spark.repl.SparkILoopInit$class.initializeSpark(SparkILoopInit.scala:122) 在 org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:64) 在 org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$$process$1$$anonfun$apply$mcZ$sp$5.apply$mcV$sp(SparkILoop.scala:973) 在 org.apache.spark.repl.SparkILoopInit$class.runThunks(SparkILoopInit.scala:157) 在 org.apache.spark.repl.SparkILoop.runThunks(SparkILoop.scala:64) 在 org.apache.spark.repl.SparkILoopInit$class.postInitialization(SparkILoopInit.scala:106) 在 org.apache.spark.repl.SparkILoop.postInitialization(SparkILoop.scala:64) 在 org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$$process$1.apply$mcZ$sp(SparkILoop.scala:990) 在 org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$$process$1.apply(SparkILoop.scala:944) 在 org.apache.spark.repl.SparkILoop$$anonfun$org$apache$spark$repl$SparkILoop$$$process$1.apply(SparkILoop.scala:944) 在 scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135) 在 org.apache.spark.repl.SparkILoop.org$apache$spark$repl$SparkILoop$$process(SparkILoop.scala:944) 在 org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:1058) 在 org.apache.spark.repl.Main$.main(Main.scala:31) 在 org.apache.spark.repl.Main.main(Main.scala) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:569) 在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:166) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:189) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:110) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) :10:错误:未找到:值 sqlContext 导入 sqlContext.implicits._ ^ :10:错误:未找到:值 sqlContext 导入 sqlContext.sql ^

第 2 步:

我只是忽略了上面的警告/错误,然后继续我的代码。我读到了,如果我使用 spark-shell,sc 会自动创建,所以编码如下。

<pre>
scala> val textFile = sc.textFile("README.md")
<console>:13: error: not found: value sc
       val textFile = sc.textFile("README.md")
</pre>

第 3 步: 正如它所说的 sc 未找到,尝试创建它。

scala> import org.apache.spark._
import org.apache.spark._

scala> import org.apache.spark.streaming._
import org.apache.spark.streaming._

scala> import org.apache.spark.streaming.StreamingContext._
import org.apache.spark.streaming.StreamingContext._

scala> val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount").set("spark.ui.port", "44040" ).set("spark.driver.allowMultipleContexts", "true")
conf: org.apache.spark.SparkConf = org.apache.spark.SparkConf@1a58697d

scala> val ssc = new StreamingContext(conf, Seconds(2) )
16/04/22 08:19:18 WARN SparkContext: Another SparkContext is being constructed (or threw an exception in its constructor).  This may indicate an error, since only one SparkContext may be running in this JVM (see SPARK-2243). The other SparkContext was created at:
org.apache.spark.SparkContext.<init>(SparkContext.scala:80)
org.apache.spark.repl.SparkILoop.createSparkContext(SparkILoop.scala:1016)
$line3.$read$$iwC$$iwC.<init>(<console>:9)
$line3.$read$$iwC.<init>(<console>:18)
$line3.$read.<init>(<console>:20)
$line3.$read$.<init>(<console>:24)
$line3.$read$.<clinit>(<console>)
$line3.$eval$.<init>(<console>:7)
$line3.$eval$.<clinit>(<console>)
$line3.$eval.$print(<console>)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:1065)
org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1338)
org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:840)
org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:871)
org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:819)
org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:856)
ssc: org.apache.spark.streaming.StreamingContext = org.apache.spark.streaming.StreamingContext@15492914

spark 告诉我这是警告(当然也说过,它可能表示错误),所以忽略并继续创建 RDD。同样,这里我不确定,这是错误/警告吗???

第四步

如下创建RDD。

<pre>

scala> var fil = ssc.textFile("/mapr/datalake/01.Call_ID.txt")
<console>:21: error: value textFile is not a member of org.apache.spark.streaming.StreamingContext
       var fil = ssc.textFile("/mapr/datalake/01.Call_ID.txt")
                     ^

</pre>

这里说我 textFile 不是 streamingContext 的成员。我对所有这些都快要生气了。另外,我正在为一家公司工作,在公司的笔记本电脑(JFYI)中执行脚本。

【问题讨论】:

    标签: scala hadoop apache-spark


    【解决方案1】:

    我认为这一切都是由于缺乏权限。假设你有正确的访问权限来使用你可以输入的集群

    HADOOP_USER_NAME=hdfs spark-shell

    这应该会覆盖您帐户的权限。

    【讨论】:

    • 试过 HADOOP_USER_NAME=hdfs spark-shell 和 HADOOP_USER_NAME=cni spark-shell 但它给了我同样的错误。(cni是我的用户名)如何检查权限,我有???
    • 可能是没有设置权限。尝试运行 hadoop fs -ls / 至少应该看看你是否有任何文件访问权限。
    • $ hadoop fs -ls / 找到 9 项 drwxr-xr-x - mapr mapr 1 2016-04-05 16:29 /apps drwxrwxrwx - mapr mapr 1 2014-09-29 15:45 /基准 drwxr-xr-x - mapr mapr 16 2016-02-02 00:03 /datalake drwxr-xr-x - mapr mapr 0 2013-12-10 16:35 /hbase drwxr-xr-x - mapr mapr 0 2014- 09-27 08:14 /tables drwxrwxrwx - mapr mapr 1124 2016-04-22 22:40 /tmp drwxr-xr-x - mapr mapr 18 2016-04-14 14:06 /user drwxr-xr-x - mapr mapr 1 2013-12-10 16:35 /var drwxrwxrwt - mapr mapr 356 2016-04-22 11:43 /yarnlogs
    【解决方案2】:

    您似乎在 HDFS 的用户目录中创建文件夹时遇到问题。

    检查文件夹的权限:/user/cni/

    您可以尝试使用以下命令授予对用户文件夹的所有访问权限:

    hdfs dfs -chmod -R 777 /user/cni
    

    不建议在共享集群或生产环境中这样做,但它可以帮助您确定是否是访问问题。

    【讨论】:

      猜你喜欢
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      相关资源
      最近更新 更多