如何提交不同语言的 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。
正如您在 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。