Flink program consists of the same basic parts:

1.Obtain an execution environment,获取执行环境
2.Load/create the initial data,获取数据
3.Specify transformations on this data,指定数据转换
4.Specify where to put the results of your computations,指定数据sink到哪里
5.Trigger the program execution.触发项目的执行

1.获取执行环境
You can obtain one using these static methods on StreamExecutionEnvironment:

getExecutionEnvironment()createLocalEnvironment()createRemoteEnvironment(host: String, port: Int, jarFiles: String*)

For specifying data sources the execution environment has several methods to read from files using various methods: you can just read them line by line, as CSV files, or using completely custom data input formats. To just read a text file as a sequence of lines, you can use:

2.获取数据

val env = StreamExecutionEnvironment.getExecutionEnvironment()val text: DataStream[String] = env.readTextFile("file:///path/to/file")

3.指定数据转换
You apply transformations by calling methods on DataSet with a transformation functions. For example, a map transformation looks like this:

val input: DataSet[String] = ...val mapped = input.map { x => x.toInt }

4.指定数据sink到哪里
Once you have a DataStream containing your final results, you can write it to an outside system by creating a sink. These are just some example methods for creating a sink:

writeAsText(path: String)print()

5.触发项目的执行
Once you specified the complete program you need to trigger the program execution by calling execute() on the StreamExecutionEnvironment.

env.execute("AppName")

The execute() method is returning a JobExecutionResult, this contains execution times and accumulator results.

Anatomy of a Flink Program(Flink程序的剖析)相关推荐

  1. 《从0到1学习Flink》—— Flink Data transformation(转换)

    前言 在第一篇介绍 Flink 的文章 <<从0到1学习Flink>-- Apache Flink 介绍> 中就说过 Flink 程序的结构 Flink 应用程序结构就是如上图 ...

  2. 《从0到1学习Flink》—— Flink 读取 Kafka 数据批量写入到 MySQL

    <!-- more --> 前言 之前其实在 <从0到1学习Flink>-- 如何自定义 Data Sink ? 文章中其实已经写了点将数据写入到 MySQL,但是一些配置化的 ...

  3. flink 自定义 窗口_《从0到1学习Flink》—— Flink Data transformation(转换)

    前言 在第一篇介绍 Flink 的文章 <<从0到1学习Flink>-- Apache Flink 介绍> 中就说过 Flink 程序的结构 Flink 应用程序结构就是如上图 ...

  4. kafka学习_《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 RabbitMQ

    前言 之前有文章 <从0到1学习Flink>-- Flink 写入数据到 Kafka 写过 Flink 将处理后的数据后发到 Kafka 消息队列中去,当然我们常用的消息队列可不止这一种, ...

  5. flink 写入到es_《从0到1学习Flink》—— Flink 写入数据到 Kafka

    前言 之前文章 <从0到1学习Flink>-- Flink 写入数据到 ElasticSearch 写了如何将 Kafka 中的数据存储到 ElasticSearch 中,里面其实就已经用 ...

  6. 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch

    前言 前面 FLink 的文章中我们已经介绍了说 Flink 已经有很多自带的 Connector. 1.<从0到1学习Flink>-- Data Source 介绍 2.<从0到1 ...

  7. flink sql设置并行度_《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍

    前言 之所以写这个是因为前段时间自己的项目出现过这样的一个问题: Caused by: akka.pattern.AskTimeoutException: Ask timed out on [Acto ...

  8. centos7安装flink集群_《从0到1学习Flink》—— Flink 写入数据到 Kafka

    前言 之前文章 <从0到1学习Flink>-- Flink 写入数据到 ElasticSearch 写了如何将 Kafka 中的数据存储到 ElasticSearch 中,里面其实就已经用 ...

  9. 【Flink】Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型

    1.概述 转载:Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型 相似文章:[Flink]Flink 基于 MailBox 实现的 StreamTask 线程模型 Fl ...

最新文章

  1. js 多维数组长度_C++申请与释放动态数组1(学习笔记:第6章 16)
  2. 深入探讨:视觉的目的是什么?
  3. 用delphi创建服务程式
  4. 图像转换 之 方形图转化扇形图
  5. [ZZ]好的测试应该具备哪些特质?
  6. mysql分类和事务回滚
  7. iOS 利用RunTime检测控制器是否销毁
  8. mysql 1067 42000_MySQL:ERROR 1067 (42000): Invalid default value for 'end_time'
  9. JAVA系统和DOMINO通过LDAP集成方
  10. pymc3 贝叶斯线性回归_使用PyMC3估计的贝叶斯推理能力
  11. UVa 11636 Hello World!
  12. 马云下死命令留人?阿里辟谣:不会高薪聘请黑掉阿里网站的人
  13. python数据结构剑指offer-构建乘积数组
  14. MySQL server has gone away 问题的解决方法
  15. Javascript:自定义构造函数的优化
  16. 反病毒工具 PCHunter 1.5.6
  17. 正交试验设计例题及答案_正交试验设计中的方差分析-例题分析
  18. svg中marker元素的理解
  19. .net ImageProcessor组件转换图片格式
  20. 只有程序员能听懂的笑话【关于TCP的链接的笑话】

热门文章

  1. 一周完成的小项目-某银行短信发送
  2. CSharp for Jupyter Notebook
  3. LEADTOOLS Multimedia SDK更新:改进RTSP和H.265/H.264的硬件加速
  4. win下svn常用操作笔记
  5. Python将时长转换为MM:SS格式
  6. 盒子模型与DOCTYPE
  7. 【致青春】致成长路上的那些琐事
  8. ZZULIOJ 1124: 两个有序数组合并
  9. 10-java程序的编译阶段
  10. php vim 补全,Vim 不使用 tags 文件补全 PHP 代码