Flink初识

68 阅读1分钟

一.引入Flink的目的

  • 低延迟
  • 高吞吐
  • 结果的准确性和良好的容错性

二、例子(实现wordCount)

| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ``` package com.xesonline.demo import org.apache.flink.api.scala.{DataSet, ExecutionEnvironment} import org.apache.flink.api.scala._ /** * @Classname WordCount * @Description * @Date 2020/11/3 3:06 下午 * @Created by jinping */ //批处理的wordCount object WordCount { def main(args: Array[String]){ //创建执行环境 val env:ExecutionEnvironment= ExecutionEnvironment.getExecutionEnvironment; val inputPath : String = "/Users/jinping/Desktop/flink/ss-flink-scala/src/main/resources/word.txt"; val inputDataSet : DataSet[String] = env.readTextFile(inputPath); //对数据进行转换处理,先分词 val resultDataset:DataSet[(String,Int)] = inputDataSet .flatMap(.split(" ")) .map((,1)) .groupBy(0)//以第一个元素作为key进行分组 .sum(1); resultDataset.print(); } }

| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |