一个 jar 文件中有许多 spark 作业
Many spark jobs in one jar file
我正在使用 Spark 作业服务器来处理作业管理。我需要创建 10 个作业,例如。我可以为它创建 10 个单独的 jar,然后用下一种方式调用它:
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'
...
哪种变体更可取,为什么?
使用 spark-job-server 的主要动机是 Spark 作业管理和上下文管理。
这完全取决于您的要求。如果您认为这些工作是相关的并且可以分组,您可以将所有这些放在一个 jar 中或为相关工作创建不同的 2 个包,
而不是创建单独的 jar 并为这些作业使用相同的应用程序和上下文。
我正在使用 Spark 作业服务器来处理作业管理。我需要创建 10 个作业,例如。我可以为它创建 10 个单独的 jar,然后用下一种方式调用它:
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'
...
哪种变体更可取,为什么?
使用 spark-job-server 的主要动机是 Spark 作业管理和上下文管理。
这完全取决于您的要求。如果您认为这些工作是相关的并且可以分组,您可以将所有这些放在一个 jar 中或为相关工作创建不同的 2 个包, 而不是创建单独的 jar 并为这些作业使用相同的应用程序和上下文。