自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 收藏
  • 关注

转载 【源码解析】Flink 滑动窗口数据分配到多个窗口

之前一直用翻滚窗口,每条数据都只属于一个窗口,所有不需要考虑数据需要在多个窗口存的事情。刚好有个需求,要用到滑动窗口,来翻翻 flink 在滑动窗口中,数据是怎么分配到多个窗口的一段简单的测试代码:val input = env.addSource(kafkaSource) val stream = input .map(node => {...

2019-09-29 17:24:00 749

转载 Flink 中定时加载外部数据

社区中有好几个同学问过这样的场景:  flink 任务中,source 进来的数据,需要连接数据库里面的字段,再做后面的处理这里假设一个 ETL 的场景,输入数据包含两个字段 “type, userid....” ,需要根据 type,连接一张 mysql 的配置表,关联 type 对应的具体内容。相对于输入数据的数量,type 的值是很少的(这里默认只有10种), 所以...

2019-09-28 20:47:00 1904

转载 Flink 物理分区

本文来自官网:https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/stream/operators/#physical-partitioningFlink还通过以下函数对转换后的数据精确流分区进行低级控制(如果需要)。1、自定义分区  使用用户定义的分区程序为每个元素选择目标任务。dataS...

2019-09-16 13:23:00 442

转载 编译Flink 1.9.0

闲来无事,编个Flink 1.9 玩玩1、下载flink、flink-shaded 源码、解压  flink  flink-shaded 7.0[venn@venn release]$ lltotal 19880drwxrwxr-x. 44 venn venn 4096 Sep 12 14:00 flink-release-1.9.0drwxrwxr...

2019-09-12 17:50:00 227

转载 【源码解析】Flink 是如何基于事件时间生成Timestamp和Watermark

生成Timestamp和Watermark 的三个重载方法介绍可参见上一篇博客:Flink assignAscendingTimestamps 生成水印的三个重载方法之前想研究下Flink是怎么处理乱序的数据,看了相关的源码,加上测试,发现得到了与预期完全不相同的结果。预期是:乱序到达的数据,flink可以基于数据的事件时间,自动整理数据,依次计算输出结果是:在assig...

2019-09-04 22:18:00 496

转载 基于grafana+prometheus构建Flink监控

先上一个架构图Flink App : 通过report 将数据发出去Pushgateway : Prometheus 生态中一个重要工具Prometheus :一套开源的系统监控报警框架 (Prometheus 入门与实践)Grafana:一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知(可视化工具Grafana:简...

2019-09-02 11:20:00 833

转载 【源码解析】Flink 是如何处理迟到数据

相信会看到这篇文章的都对Flink的时间类型(事件时间、处理时间、摄入时间)和Watermark有些了解,当然不了解可以先看下官网的介绍:https://ci.apache.org/projects/flink/flink-docs-master/dev/event_time.html这里就会有这样一个问题:FLink 是怎么基于事件时间和Watermark处理迟到数据的呢?在...

2019-08-24 19:11:00 300

转载 Flink assignAscendingTimestamps 生成水印的三个重载方法

先简单介绍一下Timestamp 和Watermark 的概念:1. Timestamp和Watermark都是基于事件的时间字段生成的2. Timestamp和Watermark是两个不同的东西,并且一旦生成都跟事件数据没有关系了(所有即使事件中不再包含生成Timestamp和Watermark的字段也没关系)3. 事件数据和 Timestamp 一一对应(事件在流中...

2019-08-24 09:56:00 854

转载 【翻译】生成 Timestamps / Watermarks

本文翻译自flink官网:https://ci.apache.org/projects/flink/flink-docs-release-1.7/dev/event_timestamps_watermarks.htmlAssigning TimestampsSource Functions with Timestamps and Watermarks...

2019-08-24 09:52:00 208

转载 【翻译】The Broadcast State Pattern(广播状态)

本文翻译自官网:The Broadcast State PatternProvided APIs(提供的api)BroadcastProcessFunction and KeyedBroadcastProcessFunctionImportant Considerations(注意事项)使用State描述运算符状态,该运算符状态在恢复时均匀分布在运...

2019-08-16 10:37:00 215

转载 基于Broadcast 状态的Flink Etl Demo

接上文: 【翻译】The Broadcast State Pattern(广播状态) 最近尝试了一下Flink 的 Broadcase 功能,在Etl,流表关联场景非常适用:一个流数据量大,一个流数据量小(配置表)需要更新业务逻辑如下:  注: 正常情况广播流只有一个输出源,更新也在这个源里,这里做了个优化:将广播流的输入源改为两部分配置文件和更新topic(原因:f...

2019-08-15 14:10:00 148

转载 git 更新fork的远程仓库

1、添加远程仓库到本地remote分支git remote add upstream git@github.com:apache/flink.git # 远程仓库地址2、查看当前仓库的远程分支git remote -vorigin git@github.com:springMoon/flink.git (fetch)origin git@github....

2019-08-14 10:56:00 388

转载 Flink 在IDEA执行时的webui

不过Flink IDEA中执行的webui 需要 flink-runtime-web 包的支持pom 如下:<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-runtime-web_${scal...

2019-08-13 10:28:00 1410

转载 配置ssh免密,仍需要密码

配置ssh免密码登录后,仍提示输入密码解决方法:首先我们就要去查看系统的日志文件tail /var/log/secure -n 20Authentication refused: bad ownership or modes for directory /root从字面上可以看出是目录的属主和权限配置不当,查找资料得知:SSH不希望home目...

2019-07-23 10:12:00 82

转载 Flink MysqlSink 简单样例

在大数据领域中,有很多nosql 的数据库,典型的 hbase,可以实现大数据量下的快速查询,但是关系型数据的地位还是没办法替代。比如上个项目中,计算完的结果数据,还是会输出到关系型数据库当中。Flink 中没有提供关系型数据的connector,看到有小伙伴在问,怎么实现,就写个简单的demo。Flink sink,都有两种方式,对外输出数据:继承RichSinkFunct...

2019-07-22 09:18:00 436

转载 Flink FileSink 自定义输出路径——StreamingFileSink、BucketingSink 和 StreamingFileSink简单比较...

接上篇:Flink FileSink 自定义输出路径——BucketingSink上篇使用BucketingSink 实现了自定义输出路径,现在来看看 StreamingFileSink( 据说是StreamingFileSink 是社区优化后添加的connector,推荐使用)StreamingFileSink 实现起来会稍微麻烦一点(也是灵活,功能更强大),因为可以自己实现...

2019-07-17 13:09:00 3138

转载 Flink FileSink 自定义输出路径——BucketingSink

今天看到有小伙伴在问,就想着自己实现一下。问题:Flink FileSink根据输入数据指定输出位置,比如讲对应日期的数据输出到对应目录输入数据:20190716 输出到路径 2019071620190717 输出到路径 2019071720190718 输出到路径 20190718目前flink 对与输出到文件有两种实现(write 算子不算,只能指定...

2019-07-17 11:07:00 1021

转载 【翻译】Flink Joining

本文来自官网翻译:JoiningWindow Join(窗口join)Tumbling Window Join(翻滚窗口join)Sliding Window Join(滑动窗口join)Session Window Join(会话窗口join)Interval Join(时间间隔join)Window Join窗口join 连接两个共享...

2019-07-04 11:24:00 105

转载 Flink 异步IO访问外部数据(mysql篇)

  接上篇:【翻译】Flink 异步I / O访问外部数据  最近看了大佬的博客,突然想起Async I/O方式是Blink 推给社区的一大重要功能,可以使用异步的方式获取外部数据,想着自己实现以下,项目上用的时候,可以不用现去找了。  最开始想用scala 实现一个读取 hbase数据的demo,参照官网demo:  /** * An implementation ...

2019-06-28 18:29:00 1488

转载 【翻译】Flink 异步I / O访问外部数据

本文来自官网翻译:Asynchronous I/O for External Data Access需要异步I / O操作先决条件异步I / O API超时处理结果顺序活动时间容错保证实施技巧警告本页介绍了Flink API与外部数据存储的异步I / O的使用。对于不熟悉异步或事件驱动编程的用户,有关Futures和事件驱动编程可...

2019-06-25 10:22:00 178

转载 Flink 自定义source和sink,获取kafka的key,输出指定key

--------20190905更新-------  沙雕了,可以用JSONKeyValueDeserializationSchema,接收ObjectNode的数据,如果有key,会放在ObjectNode中if (record.key() != null) { node.set("key", mapper.readValue(record.k...

2019-06-24 14:01:00 3408

转载 Flink统计当日的UV、PV

  Flink统计当日的UV、PV  测试环境:    flink 1.7.2  1、数据流程        a.模拟数据生成,发送到kafka(json格式)      b.flink读取数据,count    c.输出数据到kafka(为了方便查看,输出了一份到控制台)  2、模拟数据生成器    数据格式如下 :{"id" : 1, "...

2019-05-24 20:45:00 6782

转载 flink引出的kafka不同版本的兼容性

参考:官网协议介绍:http://kafka.apache.org/protocol.html#The_Messages_Fetchkafka协议兼容性http://www.cnblogs.com/huxi2b/p/6784795.html最近在使用flink的时候,在flink的官网对flink-connect-kafka有这样的一个版本对照:Maven...

2019-04-11 17:28:00 1142

转载 flink 读取kafka 数据,partition分配

每个并发有个编号,只会读取kafka partition % 总并发数 == 编号 的分区如: 6 分区, 4个并发分区: p0 p1 p2 p3 p4 p5并发: 0 1 2 3分区 p0 分配给并发 0 : 0 % 4 = 0分区 p1分配给并发1: 1% 4 =1分区 p2分配给并发2: 2% 4 =2分区 p3...

2019-04-01 15:03:00 1038

转载 Flink 报错 "Could not find a suitable table factory for 'org.apache.flink.table.factories.StreamTableS...

先上代码:table = tablexx.select('*).tablexx.groupBy('x).select('x, xx.count ) tableEnvironment // declare the external system to connect to .connect( new Kafka() .version("...

2019-03-21 10:43:00 3710

转载 flume接收http请求,并将数据写到kafka

flume接收http请求,并将数据写到kafka,spark消费kafka的数据。是数据采集的经典框架。直接上flume的配置:source : httpchannel : filesink : kafkaxx :~/software/flume1.8/conf$ cat http-file-kafka.conf # example.conf: A sing...

2019-03-06 16:12:00 1253

转载 【翻译】Flume 1.8.0 User Guide(用户指南) Processors

翻译自官网flume1.8用户指南,原文地址:Flume 1.8.0 User Guide篇幅限制,分为以下5篇:【翻译】Flume 1.8.0 User Guide(用户指南)【翻译】Flume 1.8.0 User Guide(用户指南) source【翻译】Flume 1.8.0 User Guide(用户指南) Sink【翻译】Flume 1.8.0 User...

2019-02-13 18:44:00 213

转载 【翻译】Flume 1.8.0 User Guide(用户指南) Channel

翻译自官网flume1.8用户指南,原文地址:Flume 1.8.0 User Guide篇幅限制,分为以下5篇:【翻译】Flume 1.8.0 User Guide(用户指南)【翻译】Flume 1.8.0 User Guide(用户指南) source【翻译】Flume 1.8.0 User Guide(用户指南) Sink【翻译】Flume 1.8.0 User...

2019-01-31 17:09:00 196

转载 【翻译】Flume 1.8.0 User Guide(用户指南) Sink

翻译自官网flume1.8用户指南,原文地址:Flume 1.8.0 User Guide篇幅限制,分为以下5篇:【翻译】Flume 1.8.0 User Guide(用户指南)【翻译】Flume 1.8.0 User Guide(用户指南) source【翻译】Flume 1.8.0 User Guide(用户指南) Sink【翻译】Flume 1.8.0 User...

2019-01-31 13:59:00 542

转载 【翻译】Flume 1.8.0 User Guide(用户指南) source

翻译自官网flume1.8用户指南,原文地址:Flume 1.8.0 User Guide篇幅限制,分为以下5篇:【翻译】Flume 1.8.0 User Guide(用户指南)【翻译】Flume 1.8.0 User Guide(用户指南) source【翻译】Flume 1.8.0 User Guide(用户指南) Sink【翻译】Flume 1.8.0 User...

2019-01-31 11:18:00 246

转载 【翻译】Flume 1.8.0 User Guide(用户指南)

翻译自官网flume1.8用户指南,原文地址:Flume 1.8.0 User Guide篇幅限制,分为以下5篇:【翻译】Flume 1.8.0 User Guide(用户指南)【翻译】Flume 1.8.0 User Guide(用户指南) source【翻译】Flume 1.8.0 User Guide(用户指南) Sink【翻译】Flume 1.8.0 User...

2019-01-28 16:45:00 260

转载 Apache Flink 简单安装

  流计算这两年很火了,可能对数据的实时性要求高。现在用的hadoop框架,对流计算的支持,主要还是微批(spark),也不支持“Exactly Once”语义(可以使用外接的数据库解决),公司项目可能会用所以就下载了个Flink试试。1. 下载解压      打开官网:https://flink.apache.org/, “DOWNLOAD”,下载对应 hadoop 和scal...

2019-01-10 11:01:00 167

转载 hadoop 有那些发行版本

hadoop发行版本1. apache hadoophttp://hadoop.apache.org/2.cloudera hadoop(CDH)https://www.cloudera.com/3.hortonworks hadoop(HDP)https://hortonworks.com4. MapRhttps://mapr.com/5. fus...

2019-01-03 14:15:00 168

转载 centos7 安装搜狗输入法

1.root权限,卸载 ibus : yum remove ibus2、加入EPEL源   sudo yum install epel-release3、添加mosquito-myrepo源  sudo yum-config-manager --add-repo=https://copr.fedoraproject.org/coprs/mosquito/myrepo/r...

2018-12-28 10:04:00 252

转载 ssh 配置免密失败

多数情况下,可以登录成功。但是也会出现配置不正确,导致失败的时候。1.检查authorized_keys文件权限,并设置为700chmod 700authorized_keys2.检查/etc/ssh/sshd_config文件将#StrictModes yes设置为StrictModes no将#AuthorizedKeysFile .ssh/...

2018-12-28 09:47:00 137

转载 CentOS7 启动中文输入法

  CentOS 系统中是带有中文输入法的(智能拼音),启动方式如下:  Applications --》 System Tools --》 Setting --> Region & Language -- > Input Source 点击 “+” ,找到 Chinese(china) ,选择 “Chinese Itelligent Pinyin”,就可以...

2018-12-28 09:47:00 160

转载 jedis set 的四个重载方法(byte[]的四个自动忽略)

方法定义如下:1、String set(String key, String value)2、String set(String key, String value, String nxxx) 3、String set(String key, String value, String nxxx, String expx, int time) 4、St...

2018-12-19 10:57:00 568

转载 Java 浮点数相加

  刚刚遇到个需求,需要对金额求和,上线的时候才知道这时个,这个字段是个小数。  随手就改了个Double ,然后,跑下,没啥问题,直接上线了  然后,就fuck 了  加出一大堆的小数,大概是这样的package com.venn.demo;public class DoublePlus { public static void main...

2018-12-14 13:26:00 972

转载 idea执行mapreduce报错 Could not locate Hadoop executable: C:\hadoop-3.1.1\bin\winutils.exe

  window执行mapreduce报错  Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate Hadoop executable: C:\hadoop-3.1.1\bin\winutils.exe -see https://...

2018-12-03 21:40:00 883

转载 /bin/bash: /bin/java: Is a directory 解决

  Hadoop执行mapreduce报错2018-11-29 09:37:32,499 INFO mapreduce.Job: map 0% reduce 0%2018-11-29 09:37:32,539 INFO mapreduce.Job: Job job_1543500660213_0004 failed with state FAILED due to:...

2018-11-29 22:47:00 1694

空空如也

空空如也

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

TA关注的人

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