Выполнить код scala от искры в Zeppelin - PullRequest
0 голосов
/ 06 февраля 2020

Я хотел бы запустить код scala на Zeppelin из кластера Spark.

Например: Это код в hdfs Spark "HelloWorld Scala. scala":

object HelloWorldScala{
 def main (arg: Array[String]): Unit = {
 val conf = new SparkConf().setAppName("myApp_Enrico")

 val spark = SparkSession.builder.config(conf).getOrCreate()
 val aList = List(1,2,3,4,5,6,7,8,9,10)
 val aRdd = spark.sparkContext.parallelize(aList)
 println("********* HELLO WORLD AND HELLO SPARK!! ******")
 println("Print even numbers")
 aRdd.filter(x=>x%2==0).map(x=>x*2).collect().foreach(println)
  }

}

Я хотел бы импортировать в Zeppelin файл HelloWorld Scala и запустить main, но я вижу ошибку:

Код ошибки Zeppelin

Error code Zeppelin screenshot

1 Ответ

0 голосов
/ 07 февраля 2020

К сожалению, вы не можете импортировать один файл в Zeppelin. Вы можете упаковать свои файлы scala в библиотеку .jar и поместить ее в каталог spark.jars (установленный как свойство в spark), после того как вы сможете импортировать свою библиотеку, используя строку: import your.libray.packages.YourClass и используя из нее не частные функции , Если вы не знаете о jar пакетах и ​​spark.jar каталогах, просто прочитайте немного больше об этом.

ОБНОВЛЕНИЕ:

%dep
z.load("your_package_group:artifact:version")
%spark

import com.yourpackage.HelloWorldScala
...