日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java编写单词数_JAVA flink小试——单词计数

發(fā)布時間:2024/10/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java编写单词数_JAVA flink小试——单词计数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文用java來實現(xiàn)一個簡單的fink計數(shù)單詞。

本文寫了兩個flink版本,一個普通版本,一個lambda版本。有以下注意點:

寫法差異,lambda需要調(diào)用return方法,而普通版本是不需要的。

在導(dǎo)包時,注意不要導(dǎo)成Scala中包,很多類名在flink和Scala中都有同名。會衍生出不必要的錯誤。比如Tuple2這個類。

在本地執(zhí)行命令:

curl https://flink.apache.org/q/quickstart.sh | bash

會下載一個官網(wǎng)的示例,主要看中了他的pom文件。可以將他的項目導(dǎo)入IDEA中,編寫自己的示例程序。

package org.myorg.test;

import org.apache.flink.api.common.functions.FlatMapFunction;

import org.apache.flink.api.common.typeinfo.Types;

import org.apache.flink.api.java.DataSet;

import org.apache.flink.api.java.ExecutionEnvironment;

import org.apache.flink.api.java.tuple.Tuple2;

import java.util.stream.Stream;

/**

* @author lingbao08

* @DESCRIPTION

* @create 2019-09-15 13:23

**/

public class WordCount {

public static void main(String[] args) throws Exception {

ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();

DataSet text = env.fromElements("我是中國人,我愛中國");

//普通版本

DataSet> counts =

text.flatMap(new FlatMapFunction>() {

@Override

public void flatMap(String s, Collector> collector) throws Exception {

String[] split = s.split("");

for (String s1 : split) {

if (s1.length() > 0)

collector.collect(new Tuple2(s1, 1));

}

}

}).groupBy(0)

.sum(1);

counts.print();

}

}

lambda版本:

DataSet> counts =

text.flatMap((FlatMapFunction>) (s, collector) -> {

Stream.of(s.split("")).forEach(v -> collector.collect(new Tuple2<>(v, 1)));

}).returns(Types.TUPLE(Types.STRING, Types.INT)).groupBy(0)

.sum(1);

counts.print();

總結(jié)

以上是生活随笔為你收集整理的java编写单词数_JAVA flink小试——单词计数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。