【发布时间】:2020-03-28 07:25:58
【问题描述】:
您好,已经使用 Eclipse 创建了一个 Maven 项目(spark/scala)并在该项目中有 4 个 scala 对象(1st_layer.scala,2nd_layer.scala,3rd_layer.scala,4th_layer.scala)。我已经生成了我的项目 jar(/ home/test/Demo2-0.0.1-SNAPSHOT.jar)。现在我想使用 spark submit 命令运行这些所有层。
spark-submit --master local[*] --class com.pkg.data.1st_layer /home/test /Demo2-0.0.1-SNAPSHOT.jar
您能否给我一个提示,我如何使用单火花提交传递所有类(1st_layer、2nd_layer、3rd_layer、4th_layer)。 注意(所有层都是依赖的(dataload,transform..etc)。
示例层代码:
object Layer1 {
def main(args: Array[String]) {
//created spark session
var a1 = sparksession.sql(" loadstmt")
sparksession.stop()
}
}
object Layer2 {
def main(args: Array[String]) {
//created spark session
var a1 = sparksession.sql(" insert and select(temp) st")
sparksession.stop()
}
}
object Layer3 {
def main(args: Array[String]) {
//created sparksession
var a1 = sparksession.sql(" insert and select(orc)")
sparksession.stop()
}
}
【问题讨论】:
-
你能分享你包含这些scala对象的类程序吗?
-
问题范围很广,将其缩小到特定要求。 ETL 可以使用单个 spark 驱动程序完成,其中数据加载步骤和转换步骤等......在每个步骤中,您可以调用不同的封装对象 Main Driver -> object DataLoadStep -> object TranformStep 等......它在 spark 世界中非常常见的模式
-
@Ram Ghadiyaram 我是编程和 Spark 的新手。请你帮我我应该怎么做,我已经创建了 4 个不同的 scala/spark 对象。在第一层,我将数据加载到 temp来自 csv 文件的表,然后我再次以 orc 格式加载到一个配置单元表中,在第三层中,我在加载到最终表时应用所有转换。
-
@Raghavendra Gupta...请参阅下面的示例代码(流程)不共享确切的代码。
-
object 1st_layer { def main(args: Array[String]) { //created sparksession var a1=sparksession.sql("loadstmt") sparksession.stop() } } object 2nd_layer { def main( args: Array[String]) { //created sparksession var a1=sparksession.sql(" insert and select(temp) st") sparksession.stop()}} object 3rd_layer { def main(args: Array[String]) { //sparksession var a1=sparksession.sql("插入和选择(orc)") sparksession.stop() } }
标签: scala apache-spark