2016-05-24 3 views
-1

Я запускаю приведенный ниже код искры-java.Искры java Ошибка: ошибка инициализации 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]1 SparkworkingJars]$ javac -cp $CLASSPATH Resource.java 

предупреждение: /home/harsha/SparkworkingJars/spark-core_2.11- 1.6.1.jar (орг/Apache/искровым/API/Java/JavaSparkContextVarargsWorkaround.class): основная версия 51 более новая, чем 50, самая высокая основная версия, поддерживаемая этим компилятором. Рекомендуется, чтобы компилятор будет upgraded.1 предупреждение

RUN:

[[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) по адресу org.apache.spark.api.java.JavaSparkContext. (JavaSparkContext.scala: 59) в Resource.main (Resource.java:15) Пожалуйста, помогите мне решить проблему.

ответ

7

Необходимо указать главный URL-адрес при запуске приложения искры через spark-submit. Вы можете добавить --master local[*] в качестве аргумента командной строки (если вы хотите работать в автономном режиме местного (или других --master опций для работы на пряжу или Mesos) Ссылка -. Submitting Spark applications

В противном случае, вы можете также указать мастер в программе .

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

Но предпочтительный способ является бывшим, как вы можете запустить то же работу для различных типов кластеров, если вы держите мастер за пределами исходного кода.