自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 问答 (1)
  • 收藏
  • 关注

原创 Flink基础系列26-Flink状态管理

文章目录一. 状态概述:二. 算子状态 Operator State2.1 概述2.2 算子状态数据结构2.3 代码测试三. 键控状态 Keyed State3.1 概述3.2 键控状态数据结构3.3 测试代码3.4 场景测试四. 状态后端 State Backends4.1 概述4.2 选择一个状态后端4.3 配置文件4.4 样例代码参考:一. 状态概述:Flink中的状态:算子状态(Operator State)键控状态(Keyed State)状态后端(State Backends)

2021-10-29 18:00:56 389

原创 Flink基础系列25-时间语义和Watermark

文章目录一.Flink中的时间语义二.EventTime的引入三. Watermark3.1 概念3.2 Watermark的特点3.3 Watermark的传递3.4 Watermark的引入3.5 Watermark的设定四. 测试代码4.1 测试Watermark和迟到数据4.2 分析4.2.1 计算窗口起始位置Start和结束位置End4.2.2 计算修正后的Window输出结果的时间4.3.3 为什么上面输入中,最后连续四条相同输入,才触发Window输出结果?3.7 窗口起始点和偏移量参考:一

2021-10-29 17:54:38 255

原创 Flink基础系列24-Flink的Window

文章目录一.Flink Window1.1 概述1.2 Window类型二.Flink Window API2.1 概述2.2 TimeWindow2.3 CountWindow2.4 window function2.5 其他可选API三.代码测试3.1 测试滚动时间窗口的增量聚合函数3.2 测试滚动时间窗口的全窗口函数2.3 测试滑动计数窗口的增量聚合函数3.4 其他可选API代码片段参考:一.Flink Window1.1 概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2021-10-28 15:29:03 4938

原创 Flink基础系列23-Sink之JDBC

文章目录一.Sink之JDBC概述二.pom文件配置三.MySQL配置四.编写Java代码五.运行Flink程序查看数据参考:一.Sink之JDBC概述Flink的Sink支持的数据库:Bahir中支持的数据库:从上两图可以看到,Flink的Sink并支持类似MySQL的这种关系型数据库,那么如果我需要通过Flink连接MySQL,该如何操作呢?这个时候我们可以使用Flink Sink的JDBC连接。二.pom文件配置此处,我本地MySQL版本是 8.0.19<!-- https:

2021-10-28 15:11:10 6049

原创 Flink基础系列22-Sink之Redis

文章目录一.pom.xml文件配置二.代码准备三.测试参考:一.pom.xml文件配置查看Flink 1.9.0版本的官方文档https://ci.apache.org/projects/flink/flink-docs-release-1.9/可以看到连接里面是没有Redis,不过Bahir中有参考官网提供的pom文件<dependency> <groupId>org.apache.bahir</groupId> <artifactId&g

2021-10-27 15:59:40 5040

原创 Flink基础系列21-Sink之Kafka

文章目录一.Sink概述二.Sink之Kafka2.1 将文本文件数据写入Kafka2.2 Java代码准备2.3 开启生产者2.4 查看Kafka输出参考:备注:Flink 1.9.0一.Sink概述Flink没有类似于spark中foreach方法,让用户进行迭代的操作。虽有对外的输出操作都要利用Sink完成。最后通过类似如下方式完成整个任务最终输出操作。官方提供了一部分的框架的sink。除此以外,需要用户自定义实现sink。二.Sink之Kafka2.1 将文本文件数据写入Kafka

2021-10-27 15:57:16 6595

原创 Flink基础系列20-数据重分区操作

文章目录一.数据重分区参考:一.数据重分区重分区操作,在DataStream类中可以看到很多Partitioner字眼的类。其中partitionCustom(…)方法用于自定义重分区。测试代码:package org.flink.transform;/** * @author 只是甲 * @date 2021-08-31 * @remark Flink 基础Transform 重分区 */import org.flink.beans.SensorReading;impor

2021-10-26 18:06:48 6434

原创 Flink基础系列19-实现UDF

文章目录一. 函数类(Function Classes)二. 匿名函数(Lambda Functions)三.富函数(Rich Functions)参考:一. 函数类(Function Classes)Flink暴露了所有UDF函数的接口(实现方式为接口或者抽象类)。例如MapFunction, FilterFunction, ProcessFunction等等。下面例子实现了FilterFunction接口:DataStream<String> flinkTweets = tweets

2021-10-26 18:04:19 6496

原创 Flink基础系列18-支持的数据类型

文章目录一.Flink支持的数据类型1.1 基础数据类型1.2 Java和Scala元组(Tuples)1.3 Scala样例类(case classes)1.4 Java简单对象(POJO)1.5 其他(Arrays, Lists, Maps, Enums,等等)参考:一.Flink支持的数据类型Flink流应用程序处理的是以数据对象表示的事件流。所以在Flink内部,我们需要能够处理这些对象。它们需要被序列化和反序列化,以便通过网络传送它们;或者从状态后端、检查点和保存点读取它们。为了有效地做到这一

2021-10-22 15:33:01 10392

原创 Flink基础系列17-Tranform之多流转换算子

文章目录一.多流转换算子概述1.1 Split和Select1.2 Connect和CoMap1.3 Union二.代码实现参考:一.多流转换算子概述多流转换算子一般包括:Split和Select (新版已经移除)Connect和CoMapUnion1.1 Split和Select注:新版Flink已经不存在Split和Select这两个API了(至少Flink1.12.1没有!)SplitDataStream -> SplitStream:根据某些特征把DataStream拆分成

2021-10-22 15:30:40 10273

原创 Flink基础系列16-Tranform之聚合操作算子

文章目录一.聚合操作算子简介1.1 KeyBy1.2 Rolling Aggregation1.3 reduce二.代码实现2.1 maxby2.2 reduce参考:一.聚合操作算子简介DataStream里没有reduce和sum这类聚合操作的方法,因为Flink设计中,所有数据必须先分组才能做聚合操作。先keyBy得到KeyedStream,然后调用其reduce、sum等聚合操作方法。(先分组后聚合)常见的聚合操作算子主要有:keyBy滚动聚合算子Rolling Aggregation

2021-10-21 10:41:07 10759

原创 Flink基础系列15-Tranform之基本转换算子(map/flatMap/filter)

文章目录一.转换算子1.1 map1.2 flatMap1.3 Filter二.代码参考:一.转换算子1.1 map从如下图解可以看到,map是一对一的操作,对dataStream中的计算,一对一输出DataStream<Integer> mapStram = dataStream.map(new MapFunction<String, Integer>() { public Integer map(String value) throws Exce

2021-10-21 10:31:27 10441

原创 Flink基础系列14-Source之自定义Source

文章目录一.代码准备二.运行程序参考:一.代码准备org.flink.beans.SensorReadingpackage org.flink.beans;/** * @author 只是甲 * @date 2021-08-30 * @remark 传感器温度读数的数据类型 */public class SensorReading { // 属性:id,时间戳,温度值 private String id; private Long timestamp;

2021-10-20 15:00:18 10293

原创 Flink基础系列13-Source之从Kafka读取

文章目录一.环境介绍二.代码三.打包代码并执行参考:一.环境介绍环境介绍本地测试环境搭建了CDH 6.3集群,集成了Kafka和FlinkMaven配置从官网找到的maven配置如下:<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka_2.11</artifactId> <version>1.9.0

2021-10-20 14:58:24 10362

原创 Flink基础系列12-Source之从文件读取

文章目录一.文件准备二.程序准备三.运行Flink程序参考:一.文件准备sensor.txtsensor_1 1547718199 35.8sensor_6 1547718201, 15.4sensor_7 1547718202, 6.7sensor_10 1547718205 38.1将文件上传到hdfshadoop fs -copyFromLocal sensor.txt /user/hive/warehouse二.程序准备SourceTest2_Filepackage org

2021-10-19 11:22:43 11633

原创 Flink基础系列11-Source之从集合读取数据

文章目录一. 代码准备二.运行flink程序参考:一. 代码准备org.flink.beans.SensorReadingpackage org.flink.beans;/** * @author 只是甲 * @date 2021-08-30 * @remark 传感器温度读数的数据类型 */public class SensorReading { // 属性:id,时间戳,温度值 private String id; private Long timest

2021-10-19 11:20:34 11585

原创 Flink基础系列10-Flink Environment

文章目录一.Environment概述1.1 getExecutionEnvironment1.2 createLocalEnvironment1.3 createRemoteEnvironment参考:一.Environment概述一个Flink的程序是从一个Environment开始的1.1 getExecutionEnvironment创建一个执行环境,表示当前执行程序的上下文。如果程序是独立调用的,则此方法返回本地执行环境;如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环

2021-10-18 16:43:03 11800

原创 Flink基础系列9-Flink运行架构

文章目录一.Flink运行的四大组件1,1 作业管理器(JobManager)1.2 任务管理器(TaskManager)1.3 资源管理器(ResourceManager)1.4 分发器(Dispatcher)二.任务提交流程2.1 非yarn模式的任务提交流程2.2 任务提交流程(YARN)三. 任务调度原理四. TaskManger与Slots与parallelism五. 程序与数据流六. 执行图(ExecutionGraph)七. 数据传输形式参考:一.Flink运行的四大组件如下图所示,Fli

2021-10-18 16:39:12 12240

原创 Flink基础系列8-Flink on yarn运行wordcount程序

文章目录环境介绍一.Maven配置二.Java代码编写三.Maven打包并上传四.运行jar文件五.运行其它的class文件参考环境介绍测试服务器CDH 6.3.1版本安装Flink 1.9版本。hello.txt文件hello wordhello hdfshello mapreducehello yarnhello hivehello sparkhello flink一.Maven配置Flink依赖的配置<dependency> <groupId&

2021-10-15 10:27:21 12159

原创 Flink基础系列7-通过Web UI执行jar文件

文章目录环境准备一.准备代码1.1 maven准备1.2 Java代码准备二.打包三.通过Web UI执行jar文件3.1 上传文件环境准备本地Windows环境已安装Flink 1.9.0版本。一.准备代码1.1 maven准备配置Flink的依赖<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId&gt

2021-10-15 10:24:55 12824 1

原创 Flink基础系列6-flink run参数

执行 flink run 后参数:参数说明Action "run" compiles and runs a program.Syntax: run [OPTIONS] <jar-file> <arguments>"run" action options: -c,--class <classname> Class with the program entry

2021-10-14 14:20:39 18306

原创 Flink基础系列5-Flink 配置文件参数

文章目录一.Flink配置文件概述1.1 基础配置1.2 高可用性配置1.3 容错和检查点 配置1.4 web 前端配置1.5 高级配置1.6 Flink 集群安全配置1.7 Zookeeper 安全配置1.8 HistoryServer1.9 masters1.10 slaves1.11 zoo.cfg1.12 日志配置1.13 sql-client-defaults.yaml参考:一.Flink配置文件概述安装目录下主要有 flink-conf.yaml 配置、日志的配置文件、zk 配置、Flink

2021-10-14 14:18:57 16627

原创 Flink基础系列4-CDH6.3集成Flink1.9

文章目录一.准备工作1.1 CDH 6.3.1大数据平台搭建1.2 安装方式讨论1.3 安装介质下载及上传1.3.1 介质下载1.3.2 上传文件1.4 重启cdh集群二.安装Flink2.1 配置本地Flink 的 parcel2.2 开始安装Flink三.FAQ3.1 Deploy client Configuration失败3.2 为激活 Parcel:[flink]参考:一.准备工作1.1 CDH 6.3.1大数据平台搭建CDH 6.3 大数据平台搭建1.2 安装方式讨论CDH本身不自带F

2021-10-13 15:17:37 16781

原创 Flink基础系列3-windows安装Flink

文章目录一.Flink下载二.运行Flink2.1 Java安装2.2 运行Flink三.访问 Flink UI四.运行自带的 WordCount 示例参考:一.Flink下载本次以Flink 1.9.0版本为例。下载 flink-1.9.0-bin-scala_2.12.tgz下载后解压到 D:\flink\flink-1.9.0 目录如果需要其他版本,可以在如下链接下载:https://archive.apache.org/dist/flink/二.运行Flink2.1 Java安装

2021-10-13 15:14:51 21051 4

原创 Flink基础系列2-Flink部署

文章目录一. Standalone模式1.1 Standalone模式概述1.2 standalone模式任务提交1.2.1 Web UI提交Job1.2.2 命令行提交job二.yarn模式2.1 Flink on yarn2.1.1 Session-Cluster模式2.1.2 Per-Job-Cluster模式2.2 Session Cluster2.3 Per-Job-Cluster三. Kubernetes部署参考:一. Standalone模式1.1 Standalone模式概述Flin

2021-10-12 12:31:47 17545

原创 Flink基础系列1-Flink介绍

文章目录概述:一.Flink体系结构介绍1.1 处理无界和有界数据1.2 部署应用程序在任何地方1.3 在任何规模上运行应用程序1.4 利用内存性能二.应用程序2.1 流应用程序的构建块2.2 分层的api2.3 库三. 操作3.1 7*24 不间断运行应用程序3.2 更新、迁移、挂起和恢复应用程序3.3 监控您的应用程序参考:概述:Apache Flink是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。Flink被设计成可以在所有常见的集群环境中运行,以内存速度和任何规模执行计算。

2021-10-12 12:26:48 17635

原创 Java-Spark系列10-Spark性能调优概述

文章目录一.Spark 性能优化概述二.运行环境优化2.1 数据本地性2.2 数据存储格式三.RDD算子优化3.1 尽可能复用同一个RDD3.2 对多次使用的RDD进行持久化四.参数微调五.数据倾斜六. Spark常用的调优参数6.1 在内存中缓存数据6.2 其它配置项6.3 SQL查询连接的hint6.4 自适应查询执行6.5 合并分区后重新组合6.6 将排序合并联接转换为广播联接6.7 优化倾斜连接参考:一.Spark 性能优化概述首先笔者能力优先,使用Spark有一段时间,如下是笔者的工作经验的总

2021-10-11 17:38:17 37912

原创 Java-Spark系列9-Spark 运维管理

备注:Cloudera 6.3.1Spark 2.4文章目录一.Spark安装目录结构二.Spark日志目录结构三.维护命令与参数参考:一.Spark安装目录结构Spark组件主要文件安装目录:{BIGDATE_HOME} 为 /opt/cloudera/parcels/CDH-6.3.1-1.cdh6.3.1.p0.1470567目录路径目录说明bin可执行文件,包含spark-submit、spark-shelletc配置文件lib、lib64Sp

2021-10-11 17:25:31 18160

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除