如何提交不同语言的 spark 应用程序?

How can I submit a spark application with different languages?

正如您在 Zeppelin 中可能知道的那样,在每个单元格中我们可以单独定义解释器,例如pyspark、sql 或火花。在我当前的脚本中,我混合使用了如下语言和解释器:

%spark2.pyspark

# constant parameters
#
FALSE_TRUE_PAIRS_RATIO = 1
NUM_TREES = 200
TRAIN_DATA_RATIO = 0.8
TEST_DATA_RATIO = 1 - TRAIN_DATA_RATIO

%spark2

// read data
//
val basepath = "/kafka-connect/topics/v1/year=2020"
spark.read
 .option("basePath", basepath)
 .parquet(basepath + "/month={07}")
 .createOrReplaceTempView("jul_data")

%spark2.spark

// extract page view data for medscape users in LA 
//
sql("""select * from jul_data
        where countryname='United States' and 
              cityname='New York' and 
              """).createOrReplaceTempView("raw_data")

%spark2.sql

-- just to view data
--
select * from raw_data

如何提交此脚本的 spark 应用程序?

您可以创建一个 sbt 项目来组装一个 jar,将逻辑放入其中。使用组装好的 jar,您可以执行 spark-submit 命令。请参阅 sbt 项目的 example