2016-05-24 5 views
-1

下記のspark-javaコードを実行しています。Spark java Error:SparkContextの初期化エラー

import org.apache.spark.SparkConf; 
import org.apache.spark.api.java.JavaSparkContext; 
import org.apache.spark.sql.hive.HiveContext; 
import org.apache.spark.sql.DataFrame; 
import org.apache.spark.sql.SQLContext; 
import org.apache.hadoop.fs.*; 
public class Resource{ 
public static void main(String[] args) { 
SparkConf conf = new SparkConf().setAppName("cust data"); 
JavaSparkContext jsc = new JavaSparkContext(conf); 
HiveContext hiveSQLContext = new org.apache.spark.sql.hive.HiveContext(jsc.sc()); 
DataFrame df = hiveSQLContext.sql(" select * from emprecord"); 
df.registerTempTable("mytempTable");//creating temptable 
hiveSQLContext.sql("create table xyz as select * from mytempTable");//inserting into hie table 
jsc.close(
} 
} 

コンパイル:

[[email protected] SparkworkingJars]$ javac -cp $CLASSPATH Resource.java 

警告:/home/harsha/SparkworkingJars/spark-core_2.11- 1.6.1.jar(ORG /アパッチ/火花/ API /ジャワ/ JavaSparkContextVarargsWorkaround.class ):メジャーバージョン51は、このコンパイラでサポートされている最高メジャーバージョンである50より新しいものです。 コンパイラはupgraded.1警告

実行することをお勧めします:

[[email protected] SparkworkingJars]$ java -cp $CLASSPATH Resource 

16/05/24 10時50分04秒INFO spark.SparkContext:実行スパークバージョン1.6.1 16/05/24 10:50:05 WARN util.NativeCodeLoader:ご使用のプラットフォーム用のnative-hadoopライブラリを読み込めません...可能であれば組み込みJavaクラスを使用 16/05/24 10:50:05エラーspark.SparkContext:エラーの初期化中にエラーが発生しましたSparkContext。 org.apache.spark.SparkException:コンフィグレーションにマスターURLを設定する必要があります。 org.apache.spark.SparkContext(SparkContext.scala:401) at org.apache.spark.api.java.JavaSparkContext。 (JavaSparkContext.scala:59) Resource.main(Resource.java:15) 16/05/24 10:50:05 INFO spark.SparkContext:SparkContextを正常に停止しました スレッド「main」の例外org.apache.spark .SparkException:コンフィグレーションにマスターURLを設定する必要があります。 org.apache.spark.SparkContext(SparkContext.scala:401) at org.apache.spark.api.java.JavaSparkContext。 (JavaSparkContext.scala:59) Resource.main(Resource.java:15) 問題の解決にお役立てください。

答えて

7

spark-submitを使用してsparkアプリケーションを起動する際に、マスタURLを指定する必要があります。あなたが糸またはmesos)上で実行するためのスタンドアロンローカルモード(または他の--masterオプションで実行したい場合は、どちらか(コマンドライン引数として--master local[*]を追加することができリファレンス - 。そうでなければSubmitting Spark applications

、また、あなたのプログラムでマスターを指定することができますあなたは、ソースコードの外のマスターを続ける場合は、クラスタのさまざまな種類のあなたの同じジョブを起動することができよう。

SparkConf conf = new SparkConf().setAppName("cust data").setMaster("local[*]"); 

しかし、好ましい方法は、かつてのである。

関連する問題