Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS EMR中的SparkContext Java部署作业和MapReduce_Java_Amazon Web Services_Apache Spark_Amazon Emr - Fatal编程技术网

AWS EMR中的SparkContext Java部署作业和MapReduce

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

Hi正在搜索web和amazon文档,以了解如何在aws上现有的emr纱线集群上运行spark作业

我陷入了以下困境。我已经设置了一个本地[*]spark群集进行测试;现在我想在aws emr上测试它

到目前为止,我已经在aws上创建了一个emr集群,但找不到运行以下代码的文档。如果满足以下条件,此方法在本地有效:

"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 livy

AWS emr不支持独立spark群集模式。它支持群集和客户端模式

但是,尝试使用AWS胶水。看看您的代码,它看起来像是简单的ETL工作。此外,AWS胶水支持

GlueContext
这是
SparkContext

你可以找到这里提到的


还要查看emr上的apache livy

如何开始使用glue?如何开始使用glue?