私は次のように書いた:
val a = 1 to 10000
val b = sc.parallelize(a)
そしてそれは言うエラーを示しています:
<console>:12: error: not found: value sc
何か助けはありますか?
私の場合、ローカルWindowsシステムにsparkがインストールされていて、同じエラーが発生しましたが、以下の問題が原因でした。
問題:原因:Java.lang.RuntimeException:ルートスクラッチディレクトリ:/ tmp/HDFSのHiveは書き込み可能である必要があります。
これは権限の問題が原因でした。以下のコマンドを使用して権限を変更することで解決しました。ログには「onhdfs」と表示されますが、これはWindowsシステム上にあります
E:\ winutils\bin\winutils.exe chmod 777 E:\ tmp\Hive
クラスパスが正しくない場合に発生します。これは 未解決の問題 in Spark現時点では。
> 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
担当者の外部からクラスパスを修正する必要がある場合があります。
sc
が定義されていないため、このエラーが発生します。私は試してみます:
sc = SparkContext(appName = "foo")
私が通常起こるもう1つのことは、私も忘れていたため、クラスターでKerberosチケットを取得できないことです。
Solnankiが言及した「Sparkの未解決の問題」については、これはnotもはや当てはまらないと確信しています。
SparkContextがscとして初期化されているかどうか、spark-Shellコマンドの実行後に最初にログファイルを確認します。 SparkContextが正しく初期化されていない場合
spark環境でIPアドレスを設定する必要があります。
conf/spark.env.shのenvファイルを開き、以下の行を追加します
sPARK_LOCAL_IP = "127.0.0.1"をエクスポートします
Cloudera QuickstartVMで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
このスレッド で述べたように、1つの解決策は、アクセス許可のチェックをオフにすることです。
Cloudera managerで、advancedの下のhdfs構成に移動し、「HDFS Service Advanced Configuration Snippet(Safety Valve)forhdfs-site.xml」に次のコードを入力します。
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
その後、HDFSコンポーネントを再起動する必要があります。
それは私のために働いた。ただし、実稼働環境には適さない場合があります。
私は同じ問題に直面しました。私の場合、Java_HOMEが正しく設定されていなかったため、この問題が発生しました。驚くべきことに、SPARKが起動しますが、scコンテキストでインスタンスの作成に問題がありました。Java_HOMEを修正して正しいJavaディレクトリを指すようにすると、この問題は解決しました。パスが更新され、新しいセッションがオンになっていることを確認するために、セッションを閉じて新しいセッションを再度開く必要がありました。
これがお役に立てば幸いです。