Исключение в потоке "main". - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь использовать Spark SQL из Scala IDE, который я установил без Maven. У меня Spark 1.5.1 в производственной среде, и я пытаюсь выполнить следующий код через
spark-submit --class com.dataflair.spark.Wordcount - главный кластер /home/appserver/Sparkjob.jar

package com.dataflair.spark
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext

import org.apache.spark.SparkContext._

import org.apache.spark.sql.SQLContext

import org.slf4j.Logger
import org.slf4j.LoggerFactory;

object Wordcount {
def main(args: Array[String]) {
//Create conf object
val conf = new SparkConf()
.setAppName("WordCount")
//create spark context object
val sc = new SparkContext(conf)
//Check whether sufficient params are supplied
val sqlcontext=new org.apache.spark.sql.SQLContext(sc)

//Check whether sufficient params are supplied

import sqlcontext.implicits._




val dp_new=sqlcontext.sql("  SELECT * FROM  Temp_UFDR_t1 ")

dp_new.registerTempTable("DFUO")


//stop the spark context
sc.stop
}
}

Я получаю следующую проблему

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.sql.SQLContext.sql(Ljava/lang/String;)Lorg/apache/spark/sql/Dataset;
        at com.dataflair.spark.Wordcount$.main(Wordcount.scala:26)
        at com.dataflair.spark.Wordcount.main(Wordcount.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:766)
        at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:183)
        at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:208)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:123)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

1 Ответ

0 голосов
/ 04 июня 2019

Как вы сказали, вы используете spark 1.5.1, но у нас нет DataSet в spark 1.5.1.

Возможно, вы сварили свой код в Spark 1.5.1 и развернули / запустили приложение в Spark1.6 и более поздних объектах Spark Context.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...