我正在使用Spark job-server来处理作业管理。我需要创建10个作业,例如..我可以为它创建10个独立的罐子,然后调用它:
curl -d "" 'job-server-host:8090/jobs?appName=my_job_number_1&classPath=com.spark.jobs.MainClass'
curl -d "" 'job-server-host:8090/jobs?appName=my_job_number_2&classPath=com.spark.jobs.MainClass'
...
或者我只能创建一个包含10个作业类的jar:
curl -d "" 'job-server-host:8090/jobs?appName=my_alone_job&classPath=com.spark.jobs.Job1'
curl -d "" 'job-server-host:8090/jobs?appName=my_alone_job&classPath=com.spark.jobs.Job2'
...
哪种变体更可取,为什么?
答案 0 :(得分:1)
使用spark-job-server的主要动机是Spark作业管理和上下文管理。
这完全取决于您的要求。如果您认为这些作业是相关的并且可以分组,您可以将所有这些作业放在单个jar中或为相关作业创建不同的2个包, 而不是创建单独的jar并为这些作业使用相同的App和上下文。