CSDNRGY 2017-03-06 09:34 采纳率: 88.2%
浏览 1673
已采纳

如何用spark统计某个关键词?

 public final class JavaWordCount {

    private static final Pattern SPACE = Pattern.compile("(\\s|\\p{Punct})+");

    public static void main(String[] args) throws Exception {
        //设置hadoop路径
        System.setProperty("hadoop.home.dir", "F:\\TDDownload\\spark-2.1.0-bin-hadoop2.7\\spark-2.1.0-bin-hadoop2.7");
        //设置目标文件
        args = new String[]{"D:/logs/"};
        //创建spark
        SparkSession spark = SparkSession.builder().appName("JavaWordCount").getOrCreate();
        //
        JavaRDD<String> lines = spark.read().textFile(args[0]).javaRDD();

        JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() {
            @Override
            public Iterator<String> call(String s) {
                return Arrays.asList(SPACE.split(s)).iterator();
            }
        });
        JavaPairRDD<String, Integer> ones = words.mapToPair(new PairFunction<String, String, Integer>() {
            @Override
            public Tuple2<String, Integer> call(String s) {
                return new Tuple2<>(s, 1);
            }
        });

        JavaPairRDD<String, Integer> counts = ones.reduceByKey(new Function2<Integer, Integer, Integer>() {
            @Override
            public Integer call(Integer i1, Integer i2) {
                return i1 + i2;
            }
        });

        List<Tuple2<String, Integer>> output = counts.collect();

        for (Tuple2<?, ?> tuple : output) {
            // if(tuple._1().equals("hello")) 
            System.out.println(tuple._1() + ": " + tuple._2());
        }
        spark.stop();
    }
}

spark可以专门去统计某个词吗,而不是把所有的词都统计了

我想知道日志文件中存在多少个2017,我不想知道其他的信息,这个在spark中可以实现吗?

  • 写回答

2条回答 默认 最新

  • CSDNRGY 2017-03-13 03:35
    关注

    貌似不能只搜索目标词,spark会把所有的词都统计

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?