简体   繁体   English

在 Zeppelin 中从 spark 执行代码 scala

[英]Execute code scala from spark in Zeppelin

I would like to run a scala code on Zeppelin from Spark cluster.我想从 Spark 集群在 Zeppelin 上运行 Scala 代码。

For example: This is code into hdfs Spark "HelloWorldScala.scala":例如:这是 hdfs Spark“HelloWorldScala.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)
  }

}

I would like to import in Zeppelin the HelloWorldScala file and run main, but I see the error:我想在 Zeppelin 中导入 HelloWorldScala 文件并运行 main,但我看到错误:

Error code Zeppelin错误代码齐柏林飞艇

错误代码 Zeppelin 截图

Unfortunately you can't import single file in Zeppelin.不幸的是,您无法在 Zeppelin 中导入单个文件。 You can pack your scala files into .jar library and put it to spark.jars (setted as property in spark) directory, after you will can import your library using line: import your.libray.packages.YourClass and using non-private functions from it.您可以将 scala 文件打包到.jar库中并将其放入spark.jars (在 spark 中设置为属性)目录,之后您可以使用以下行导入您的库: import your.libray.packages.YourClass并使用非私有函数从中。 If you don't know about jar packages, and spark.jar directories just read a bit more about that.如果您不了解jar包和spark.jar目录,请阅读更多相关内容。

UPDATE:更新:

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

import com.yourpackage.HelloWorldScala

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM