1.创建flink的java项目
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-java \
-DarchetypeVersion=1.8.0 \
-DarchetypeCatalog=local
2.java编写应用
*
public static void main(String[] args) throws Exception {
/**
* hello welcome
hello world welcome
*/
String inputPath="file:///D:\\wangying\\data\\flink\\input";
//step1 :获取运行环境
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
//step2:读数据
DataSource<String> test = env.readTextFile(inputPath);
//step3:转换
//1.读数据
//4.合并操作
test.flatMap((FlatMapFunction<String, Tuple2<String, Integer>>) (s, collector) -> {
//2.每一行的数据按照指定的分隔符拆分
String[] splits = s.toLowerCase().split("\t");
for (String split:splits){
if (split.length()>0){
//3.为每一个单词赋上次数为1 (hello,1)
collector.collect(new Tuple2<String, Integer>(split,1));
}
}
}).groupBy(0).sum(1).print();
// test.print();
}
3.Scala创建项目
mvn archetype:generate \
-DarchetypeGroupId=org.apache.flink \
-DarchetypeArtifactId=flink-quickstart-scala \
-DarchetypeVersion=1.8.0 \
-DarchetypeCatalog=local
. 4.scala 编写项目
def main(args: Array[String]): Unit = {
/**
* hello welcome
* hello world welcome
*/
val inputPath = "file:///D:\\wangying\\data\\flink\\input"
//step1 :获取运行环境
val env = ExecutionEnvironment.getExecutionEnvironment
//step2:读数据
val test = env.readTextFile(inputPath)
//step3:转换
//1.读数据
//2.每一行的数据按照指定的分隔符拆分
//3.为每一个单词赋上次数为1 (hello,1)
//4.合并操作
import org.apache.flink.api.scala._
test.flatMap(_.toLowerCase.split("\t"))
.filter(_.nonEmpty)
.map((_, 1))
.groupBy(0)
.sum(1)
.print();
}