加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在独立群集上提交Spark应用程序

发布时间:2020-12-15 02:15:09 所属栏目:Java 来源:网络整理
导读:我是使用Spark的新手,我在独立群集上运行简单的字数统计应用程序时遇到问题.我有一个由一个主节点和一个工作组成的集群,使用spark-ec2脚本在AWS上启动.当我在本地运行代码时,一切正常 ./bin/spark-submit –class com.spark.SparkDataAnalysis –master loca
我是使用Spark的新手,我在独立群集上运行简单的字数统计应用程序时遇到问题.我有一个由一个主节点和一个工作组成的集群,使用spark-ec2脚本在AWS上启动.当我在本地运行代码时,一切正常
./bin/spark-submit –class com.spark.SparkDataAnalysis –master local [*] ./uber-ingestion-0.0.1-SNAPSHOT.jar file:///root/textfile.txt s3n:// bucket /字数

这会将输出保存到指定的目录中.

当我尝试使用运行应用程序时
./bin/spark-submit –class com.spark.SparkDataAnalysis –master spark:// server-ip:7077 ./uber-ingestion-0.0.1-SNAPSHOT.jar file:///root/textfile.txt S3N://桶/ wordcount的

它只是继续运行,永远不会产生最终结果.目录已创建,但只存在0字节的临时文件.

根据Spark UI,它会无限期地继续运行mapToPair函数.
Here is a picture of the Spark UI

有谁知道为什么会这样,以及如何解决它?

这是代码:

public class SparkDataAnalysis {
    public static void main(String args[]){
        SparkConf conf = new SparkConf().setAppName("SparkDataAnalysis");
        JavaSparkContext sc = new JavaSparkContext(conf);

        JavaRDD<String> input = sc.textFile( args[0] );

        JavaRDD<String> words = input.flatMap( s -> Arrays.asList( s.split( " " ) ) );

        JavaPairRDD<String,Integer> counts = words.mapToPair( t -> new Tuple2<String,Integer>( t,1 ) ).reduceByKey( (x,y) -> x + y );

        counts.saveAsTextFile( args[1] );
    }
}

解决方法

我通过spark-ec2脚本跳过使用独立群集,而是使用Amazon EMR.一切都很完美.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读