AWS EMR中的SparkContext Java部署作业和MapReduce
Hi正在搜索web和amazon文档,以了解如何在aws上现有的emr纱线集群上运行spark作业 我陷入了以下困境。我已经设置了一个本地[*]spark群集进行测试;现在我想在aws emr上测试它 到目前为止,我已经在aws上创建了一个emr集群,但找不到运行以下代码的文档。如果满足以下条件,此方法在本地有效:AWS EMR中的SparkContext Java部署作业和MapReduce,java,amazon-web-services,apache-spark,amazon-emr,Java,Amazon Web Services,Apache Spark,Amazon Emr,Hi正在搜索web和amazon文档,以了解如何在aws上现有的emr纱线集群上运行spark作业 我陷入了以下困境。我已经设置了一个本地[*]spark群集进行测试;现在我想在aws emr上测试它 到目前为止,我已经在aws上创建了一个emr集群,但找不到运行以下代码的文档。如果满足以下条件,此方法在本地有效: "spark.master.url" is set as local[*] 类别代码: public class SparkLocalImpl implements DataMap
"spark.master.url" is set as local[*]
类别代码:
public class SparkLocalImpl implements DataMapReduce{
private static SparkConf conf;
private JavaSparkContext sparkContext;
private void createContext(){
conf = new SparkConf().setMaster(env.getProperty("spark.master.url"));//rest is default
sparkContext = new JavaSparkContext(conf);
}
public List<String> getMapReducedData(List<String> str){
createContext();
JavaRDD<String> rdd = sparkContext.parallelize(str);
return rdd.map(eachStr->customMapFunction(eachStr))
.collect()
.stream()
.flatMap(x -> x.stream())
.collect(Collectors.toList());
}
public List<String> customMapFunction(String str){
List<String> strMappedList= new ArrayList();
//do something
return strMappedList;
}
}
公共类SparkLocalImplements实现DataMapReduce{
专用静态SparkConf配置;
私有JavaSparkContext sparkContext;
私有void createContext(){
conf=new SparkConf().setMaster(env.getProperty(“spark.master.url”);//默认为rest
sparkContext=新的JavaSparkContext(conf);
}
公共列表getMapReducedData(列表str){
createContext();
JavaRDD-rdd=sparkContext.parallelize(str);
返回rdd.map(eachStr->customMapFunction(eachStr))
.collect()
.stream()
.flatMap(x->x.stream())
.collect(Collectors.toList());
}
公共列表customMapFunction(字符串str){
List strMappedList=newarraylist();
//做点什么
返回标准配置列表;
}
}
有人能告诉我我做错了什么吗?AWS EMR不支持独立的spark cluster模式。它支持群集和客户端模式 但是,尝试使用AWS胶水。看看您的代码,它看起来像是简单的ETL工作。此外,AWS胶水支持
GlueContext
这是SparkContext
你可以找到这里提到的
同时检查emr上的apache livyAWS emr不支持独立spark群集模式。它支持群集和客户端模式 但是,尝试使用AWS胶水。看看您的代码,它看起来像是简单的ETL工作。此外,AWS胶水支持
GlueContext
这是SparkContext
你可以找到这里提到的
还要查看emr上的apache livy如何开始使用glue?如何开始使用glue?