zoukankan      html  css  js  c++  java
  • Spark入门案例


    Scala版

    import org.apache.spark.{SparkConf, SparkContext}
    
    object WordCountScala {
      def main(args: Array[String]): Unit = {
        val conf: SparkConf = new SparkConf().setAppName("WordCountScala").setMaster("local[1]")
        val sc: SparkContext = new SparkContext(conf)
        val data = Array("hello world", "simple app is good", "good world")
        val result: Array[(String, Int)] = sc.parallelize(data)
          .flatMap(_.split(" "))
          .map((_, 1))
          .reduceByKey(_ + _)
          .collect()
        result.foreach(println)
      }
    }
    

    Java版

    import org.apache.spark.SparkConf;
    import org.apache.spark.api.java.JavaSparkContext;
    import scala.Tuple2;
    
    import java.util.Arrays;
    import java.util.List;
    
    
    public class WordCountJava {
        public static void main(String[] args) {
            SparkConf conf = new SparkConf().setAppName("WordCountJava").setMaster("local[1]");
            JavaSparkContext jsc = new JavaSparkContext(conf);
            List<String> data = Arrays.asList("hello world", "simple app is good", "good world");
            List<Tuple2<String, Integer>> result = jsc.parallelize(data)
                    .flatMap(s -> Arrays.asList(s.split(" ")).iterator())
                    .mapToPair(v -> new Tuple2<>(v, 1))
                    .reduceByKey(Integer::sum)
                    .collect();
            result.forEach(System.out::println);
        }
    }
    

    计算结果

    (is,1)
    (app,1)
    (simple,1)
    (hello,1)
    (good,2)
    (world,2)
    

    可以看出在Spark中,Scala的语法显然要比Java简洁许多,毕竟Spark是用Scala写的,更加纯粹的函数式编程,建议尽可能优先采用Scala学习与使用Spark。



    尊重写作权利,转载请注明出处 ^_^
  • 相关阅读:
    爬取全部的校园新闻
    理解爬虫原理
    中文词频统计与词云生成
    复合数据类型,英文词频统计
    字符串操作、文件操作,英文词频统计预处理
    大数据应用期末总评
    分布式文件系统HDFS 练习
    Hadoop的安装
    爬虫综合大作业
    爬取全部的校园新闻
  • 原文地址:https://www.cnblogs.com/convict/p/14828084.html
Copyright © 2011-2022 走看看