步骤一:创建
public class WordCount{
public static void main(String[] args) throws Exception{
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource<String> myDataStream = env.socketTextStream("192.168.85.111", 1234);
myDataStream.flatMap(new FlatMapFunction<String,Tuple2<String, Integer>>(){
@Override
public void flatMap(String line, Collector<Tuple2<String, Integer>> out) throws Exception{
String[] fields = line.split(",");
for(String word:fields){
out.collect(new Tuple2<>(word, 1));
}
}
}).keyBy(0).sum(1)
result.print();
env.execute("WordCount");
}
}
public class WordCount{
public static void main(String[] args) throws Exception{
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource<String> myDataStream = env.socketTextStream("192.168.85.111", 1234);
SingleOutStreamOperator<WordAndOne> result = myDataStream.flatMap(new FlatMapFunction<String, WordAndOne>(){
@Override
public void flatMap(String line, Collector<WordAndOne> out) throws Exception{
String[] fields = line.split(",");
for(String word:fields){
out.collect(new WordAndOne(word, 1));
}
}
}).keyBy(0).sum(1)
result.print();
env.execute("WordCount");
}
public static class WordAndOne{
private String word;
private Integer count;
public WordAndOne(){
}
public WordAndOne(String word, Integer count){
this.word = word;
this.count = count;
}
public Stirng getWord(){
return word;
}
public void serWord(String word){
this.word = word;
}
public Integer getCount(){
return count;
}
public void serCount(Integer count){
this.count = count;
}
@Override
public String toString(){
return "WordAndOne{" +
"word='" + word + '\"' +
", count=" + count +
'}';
}
}
}
public class WordCount{
public static void main(String[] args) throws Exception{
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource<String> myDataStream = env.socketTextStream("192.168.85.111", 1234);
SingleOutStreamOperator<WordAndOne> result = myDataStream.flatMap(new StringSplitTask()).keyBy(0).sum(1)
result.print();
env.execute("WordCount");
}
public static class StringSplitTask implements FlatMapFunction<String,WordAndOne>{
@Override
public void flatMap(String line, Collector<WordAndOne> out) throws Exception{
String[] fields = line.split(",");
for(String word:fields){
out.collect(new WordAndOne(word, 1));
}
}
}
public static class WordAndOne{
private String word;
private Integer count;
public WordAndOne(){
}
public WordAndOne(String word, Integer count){
this.word = word;
this.count = count;
}
public Stirng getWord(){
return word;
}
public void serWord(String word){
this.word = word;
}
public Integer getCount(){
return count;
}
public void serCount(Integer count){
this.count = count;
}
@Override
public String toString(){
return "WordAndOne{" +
"word='" + word + '\"' +
", count=" + count +
'}';
}
}
}
```java
public class WordCount{
public static void main(String[] args) throws Exception{
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
ParameterTool parameterTool = ParameterTool.fromArgs(args);
String hostname = parameter.Tool.get("hostname");
int port = parameterTool.getInt("port");
DataStreamSource<String> myDataStream = env.socketTextStream(hostname, port);
SingleOutStreamOperator<WordAndOne> result = myDataStream.flatMap(new StringSplitTask()).keyBy(0).sum(1)
result.print();
env.execute("WordCount");
}
public static class StringSplitTask implements FlatMapFunction<String,WordAndOne>{
@Override
public void flatMap(String line, Collector<WordAndOne> out) throws Exception{
String[] fields = line.split(",");
for(String word:fields){
out.collect(new WordAndOne(word, 1));
}
}
}
public static class WordAndOne{
private String word;
private Integer count;
public WordAndOne(){
}
public WordAndOne(String word, Integer count){
this.word = word;
this.count = count;
}
public Stirng getWord(){
return word;
}
public void serWord(String word){
this.word = word;
}
public Integer getCount(){
return count;
}
public void serCount(Integer count){
this.count = count;
}
@Override
public String toString(){
return "WordAndOne{" +
"word='" + word + '\"' +
", count=" + count +
'}';
}
}
}