专栏首页Duncan's BlogFlink学习记录

Flink学习记录

Flink笔记

1.数据集类型

  • 有界数据集:具有时间边界,在处理过程中数据一定会在某个时间范围内起始和结束。提供DataSet API
  • 无界数据集: 数据从一开始就一直持续产生的。提供DataStream API

2.Flink编程接口

  • Flink SQL
  • Table API:在内存中的DataSet和DataStream基础上加上Schema信息,将数据类型抽象成表结构
  • DataStream API和DataSet API
  • Stateful Stream Process API

3.程序结构

  • 设定运行环境:
    • env = StreamExecutionEnvironment.getExecutionEnvironment```12* ```/*设置并行度为5*/val env = StreamExecutionEnvironment.createLocalEnvironment(5)
    • 1val env = StreamExecutionEnvironment.createRemoteEnvironment("JobManagerHost",6021,5,"/user/application.jar")
  • 初始化数据: 将外部数据转换成DataStream或者DataSet
  • 执行转换逻辑:
    • 复杂的逻辑通过实现MapFunction接口,然后调用map()方法将实现类传入
    • 匿名函数
    • RichFunction接口
  • 分区key指定
  • 根据第一个字段分区,根据第二个字段求和 val result = DataStream.keyBy(0).sum(1)
  • 输出结果
    • 基于文件输出
    • 基于控制台输出
    • Connector
  • 程序触发 调用ExecutionEnvironment的execute()

4.数据类型

  • 原生数据类型
  • Tuple2元组类型
  • Scala case class类型
  • POJOs类型:复杂数据结构类型
  • Flink Value类型:IntValue、DoubleValue、StringValue
  • 特殊数据类型:List,Map、Etither、Option、Try

5.DataStream API

  • DataSource
    • 内置数据源
      • 文件数据源
      • Socket数据源
      • 集合数据源
    • 外置数据源
      • Kafka
  • Transformation
    • 单DataFrame操作:Map、FlatMap、Filter、KeyBy、Reduce、Aggregation函数(min、max、sum)
    • 多DataFrame操作:Union、Connect、CoMap、CoFlatMap、Split、Select、Iterate
  • DataSink
    • 文件系统
    • Kafka
    • Apache Cassandra
    • HDFS
    • RabbitMQ

6.时间概念

  • Event Time(事件生成时间)
  • Ingestion Time(事件接入时间)
  • Process Time(事件处理时间) — 再记录(2019-09-05)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 求最优解算法学习

    本篇主要记录三种求最优解的算法:动态规划(dynamic programming),贪心算法和平摊分析.

    DuncanZhou
  • ccx

    DuncanZhou
  • 准确率和召回率及如何提高准确率

    精确率 = 提取出的正确信息条数 / 提取出的信息条数 召回率 = 提取出的正确信息条数 / 样本中的信息条数

    DuncanZhou
  • win10 我们无法设置移动热点

    在命令提示符输入 netsh wlan set hostednetwork mode=allow ssid=填写要创建的网络名字 key=密码 ,

    韩旭051
  • 揭秘QQ背后的技术:T-HIM融合通信技术开发实战

    QQ,属于融合通信下的一个产品,作为即时通讯的工具为什么能如此的盛行?云+社区技术沙龙为大家解答,是什么支撑着QQ走到了现在。

    腾讯云视频
  • 谁动了我的工作效率?大咖分享融合通信背后的技术&案例

    “你的QQ等级多少级了?” “超级会员,天天挂着升等级呢。” QQ的企鹅形象,总是在电脑右下角滴滴的跳动着,这是一代人的情怀。 ? QQ,属于融合通信下的一...

    腾讯技术工程官方号
  • JavaScript——执行环境、变量对象、作用域链

    这几天在看《javascript高级程序设计》,看到执行环境和作用域链的时候,就有些模糊了。书中还是讲的不够具体。通过上网查资料,特来总结,以备回顾和修正。

    喝茶去
  • Chrome的F12还能这样用?涨知识

    我们都知道,Chrome的F12 开发者工具有许多的功能,上可调试CSS,下可打断点找BUG。这些都是比较基本的使用方法。

    学前端
  • 程序员翻车时的 30 种常见反应

    软件开发工作充满了挑战性。人无完人,对于程序员来说,写出有 bug 的代码是在所难免的。有些人很淡定,也有一些人会感到生气、沮丧、不安或气馁。在修复 bug 的...

    加米谷大数据
  • Flink从入门到放弃(入门篇1)-Flink是什么

    Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,提供支持流处理和批处理两种类型应用的功能。

    王知无

扫码关注云+社区

领取腾讯云代金券