2017-03-24 10 views
5

Windows 10でsparkをセットアップしようとしています。始めに、私はthis errorに直面し、リンクのソリューションが助けになりました。今、私はあなたがスパーク2.1を使用しているので、あなたがSparkSessionオブジェクトを使用する必要がありますまだそれはまだ私にエラーがスローされますApache sparkエラー:見つからない:value sqlContext

---------------------------------------------------------------- 
Fri Mar 24 12:07:05 IST 2017: 
Booting Derby version The Apache Software Foundation - Apache Derby - 10.12.1.1 - (1704137): instance a816c00e-015a-ff08-6530-00000ac1cba8 
on database directory C:\metastore_db with class loader [email protected]606fee 
Loaded from file:/F:/Soft/spark/spark-2.1.0-bin-hadoop2.7/bin/../jars/derby-10.12.1.1.jar 
java.vendor=Oracle Corporation 
java.runtime.version=1.8.0_101-b13 
user.dir=C:\ 
os.name=Windows 10 
os.arch=amd64 
os.version=10.0 
derby.system.home=null 
Database Class Loader started - derby.database.classpath='' 
17/03/24 12:07:09 WARN ObjectStore: Failed to get database global_temp, returning NoSuchObjectException 
Spark context Web UI available at http://10.128.18.22:4040 
Spark context available as 'sc' (master = local[*], app id = local-1490337421381). 
Spark session available as 'spark'. 
Welcome to 
     ____    __ 
    /__/__ ___ _____/ /__ 
    _\ \/ _ \/ _ `/ __/ '_/ 
    /___/ .__/\_,_/_/ /_/\_\ version 2.1.0 
     /_/ 

Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101) 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> import sqlContext.sql 
<console>:23: error: not found: value sqlContext 
     import sqlContext.sql 
      ^

答えて

16

Spark context available as 'sc' (master = local[*], app id = local-1490337421381).

Spark session available as 'spark'.

からSparkContextへの参照を取得することができ、スパークのエントリポイントはSparkSessionであり、それはsparkとしてスパークシェルで利用可能です。だから、あなたはまた、この

val sqlContext = new org.apache.spark.sql.SQLContext(sc) 

最初のオプションのようなあなたのSparkContexを作成することができ、この

spark.sqlContext.sql(...) 

を試してみてスパークシェルは、すでにあなたがそれを利用するための1つを作成しているように私の選択です。

0

としてimport sqlContext.sqlを実行することはできませんよ。あなたはスパークの2.0.xではSparkSessionオブジェクト

var sSession = org.apache.spark.sql.SparkSession.getOrCreate(); 
var sContext = sSession.sparkContext; 
0

あなたはClouderaの上にあり、この問題を持っている場合は、このGithubのチケットからソリューションは、(https://github.com/cloudera/clusterdock/issues/30)私の仕事:

The root user (who you're running as when you start spark-shell) has no user directory in HDFS. If you create one (sudo -u hdfs hdfs dfs -mkdir /user/root followed by sudo -u hdfs dfs -chown root:root /user/root), this should be fixed.

すなわち、 spark-shellを実行しているユーザのユーザのホームディレクトリを作成します。これは私のためにそれを固定した。

関連する問題