1

Я пытаюсь использовать JAR простое приложение scala, которое использует SparlCSV и искру sql для создания кадра данных CSV-файла, хранящегося в HDFS, а затем просто сделайте простой запрос для возврата Max и Минимальный столбец в файле CSV.Использование SparksCl и SparkCSV с сервером SparkJob

Я получаю сообщение об ошибке, когда я использую команду SBT, чтобы создать JAR, который позже я скручивается в jobserver/папку баночки и выполнить из удаленной машины

Код:

import com.typesafe.config.{Config, ConfigFactory} 
import org.apache.spark.SparkContext._ 
import org.apache.spark._ 
import org.apache.spark.SparkConf 
import org.apache.spark.SparkContext 
import org.apache.spark.sql.SQLContext 

object sparkSqlCSV extends SparkJob { 
    def main(args: Array[String]) { 
    val conf = new SparkConf().setMaster("local[4]").setAppName("sparkSqlCSV") 
    val sc = new SparkContext(conf) 
    val sqlContext = new org.apache.spark.sql.SQLContext(sc) 
    val config = ConfigFactory.parseString("") 
    val results = runJob(sc, config) 
    println("Result is " + results) 

    } 

    override def validate(sc: sqlContext, config: Config): SparkJobValidation = { 
    SparkJobValid 
    } 

    override def runJob(sc: sqlContext, config: Config): Any = { 
    val value = "com.databricks.spark.csv" 
    val ControlDF = sqlContext.load(value,Map("path"->"hdfs://mycluster/user/Test.csv","header"->"true")) 
    ControlDF.registerTempTable("Control") 
    val aggDF = sqlContext.sql("select max(DieX) from Control") 
    aggDF.collectAsList() 

    } 
} 

Ошибка :

[[email protected] spark-jobserver]$ sbt ashesh-jobs/package 
[info] Loading project definition from /usr/local/hadoop/spark-jobserver/project 
Missing bintray credentials /home/hduser/.bintray/.credentials. Some bintray features depend on this. 
Missing bintray credentials /home/hduser/.bintray/.credentials. Some bintray features depend on this. 
Missing bintray credentials /home/hduser/.bintray/.credentials. Some bintray features depend on this. 
Missing bintray credentials /home/hduser/.bintray/.credentials. Some bintray features depend on this. 
[info] Set current project to root (in build file:/usr/local/hadoop/spark-jobserver/) 
[info] scalastyle using config /usr/local/hadoop/spark-jobserver/scalastyle-config.xml 
[info] Processed 2 file(s) 
[info] Found 0 errors 
[info] Found 0 warnings 
[info] Found 0 infos 
[info] Finished in 9 ms 
[success] created output: /usr/local/hadoop/spark-jobserver/ashesh-jobs/target 
[warn] Credentials file /home/hduser/.bintray/.credentials does not exist 
[info] Updating {file:/usr/local/hadoop/spark-jobserver/}ashesh-jobs... 
[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[info] Done updating. 
[info] scalastyle using config /usr/local/hadoop/spark-jobserver/scalastyle-config.xml 
[info] Processed 5 file(s) 
[info] Found 0 errors 
[info] Found 0 warnings 
[info] Found 0 infos 
[info] Finished in 1 ms 
[success] created output: /usr/local/hadoop/spark-jobserver/job-server-api/target 
[info] Compiling 2 Scala sources and 1 Java source to /usr/local/hadoop/spark-jobserver/ashesh-jobs/target/scala-2.10/classes... 
[error] /usr/local/hadoop/spark-jobserver/ashesh-jobs/src/spark.jobserver/sparkSqlCSV.scala:8: object sql is not a member of package org.apache.spark 
[error] import org.apache.spark.sql.SQLContext 
[error]      ^
[error] /usr/local/hadoop/spark-jobserver/ashesh-jobs/src/spark.jobserver/sparkSqlCSV.scala:14: object sql is not a member of package org.apache.spark 
[error]  val sqlContext = new org.apache.spark.sql.SQLContext(sc) 
[error]           ^
[error] /usr/local/hadoop/spark-jobserver/ashesh-jobs/src/spark.jobserver/sparkSqlCSV.scala:25: not found: type sqlContext 
[error] override def runJob(sc: sqlContext, config: Config): Any = { 
[error]       ^
[error] /usr/local/hadoop/spark-jobserver/ashesh-jobs/src/spark.jobserver/sparkSqlCSV.scala:21: not found: type sqlContext 
[error]  override def validate(sc: sqlContext, config: Config): SparkJobValidation = { 
[error]        ^
[error] /usr/local/hadoop/spark-jobserver/ashesh-jobs/src/spark.jobserver/sparkSqlCSV.scala:27: not found: value sqlContext 
[error] val ControlDF = sqlContext.load(value,Map("path"->"hdfs://mycluster/user/Test.csv","header"->"true")) 
[error]     ^
[error] /usr/local/hadoop/spark-jobserver/ashesh-jobs/src/spark.jobserver/sparkSqlCSV.scala:29: not found: value sqlContext 
[error] val aggDF = sqlContext.sql("select max(DieX) from Control") 
[error]    ^
[error] 6 errors found 
[error] (ashesh-jobs/compile:compileIncremental) Compilation failed 
[error] Total time: 10 s, completed May 26, 2016 4:42:52 PM 
[[email protected] spark-jobserver]$ 

Я думаю, главная проблема в том, что его мисси ng зависимости для sparkCSV и sparkSQL, но я понятия не имею, где разместить зависимостей перед компиляцией кода с помощью sbt.

Я запуская следующую команду, чтобы упаковать приложение, исходные коды помещаются под «ashesh_jobs» каталог

[[email protected] spark-jobserver]$ sbt ashesh-jobs/package 

Я надеюсь, что кто-то может помочь мне решить эту issue.Can вы задаете мне в файл, в котором я могу указать зависимость и формат для ввода

ответ

0

добавить библиотеку в зависимости buil.sbt

libraryDependencies + = "org.apache.spark" %% "Искра-SQL" % "1.6.2"

Смежные вопросы