我设置了一个Azure HDInsight Spark群集。我想将作业远程发送到我的集群:
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.SparkConf;
public class App
{
public static void main( String[] args )
{
SparkConf conf = new SparkConf().setAppName("App").setMaster("spark://12.34.56.78:7077");
JavaSparkContext sc = new JavaSparkContext(conf);
}
}
集群是在纱线模式下创建的。Spark工人的主人是"纱线客户端"。最好直接连接到主机名或 IP 地址。
解决这个问题的好方法是什么?
从 JAVA 程序中执行此操作,请参阅此 https://learn.microsoft.com/en-us/azure/hdinsight/hadoop/submit-apache-hadoop-jobs-programmatically
在您的评论中提交作业的另一种方式,您可以尝试使用 HDInsight Spark 的 REST API Batch Job
,请参阅参考 https://learn.microsoft.com/en-us/rest/api/hdinsightspark/hdinsight-spark-batch-job 了解它。