
大数据之Flink
Flink
大数据架构师Pony
不勤于始,将悔于终。
展开
-
flink单机部署后,taskslot一直是0
如图,flink安装好后,Task Slots一直是0.修改过很多地方的设置,如jobmanager.memory.process.size: 5gb。最后修改这个地方:最配置文件最后添加一行,重启服务即可。原创 2022-09-29 15:40:04 · 3042 阅读 · 2 评论 -
Flink练习第四天:数据下沉Sink练习
SinkToFileTestSinkToKakfaTestSinkToRedisTestSinkToEsTestSinkToMysqlTest———————————————————————————————————————————SinkToFileTestpackage com.atguigu.chapter05;import org.apache.flink.api.common.serialization.SimpleStringEncoder;import原创 2022-05-04 17:50:05 · 1427 阅读 · 0 评论 -
Flink练习第三天:转换算子练习--map、flatmap、filter、reduce、simpleagg
目录mapflatmapfilterreducesimpleaggmapmappackage com.atguigu.chapter05;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.streaming.api.datastream.DataStreamSource;import org.apache.flink.streaming.api.d原创 2022-05-04 17:46:40 · 1111 阅读 · 0 评论 -
Flink练习第二天:数据源获取方式(2)
自定义生成数据实现测试类,并行度不可修改+可修改方式。测试类package com.atguigu.chapter05;import org.apache.flink.streaming.api.datastream.DataStreamSource;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.streaming.api.functi原创 2022-05-02 22:16:12 · 972 阅读 · 0 评论 -
Flink练习第二天:数据源获取方式(1)
数据源类型:1.从文件中读取数据2.从集合中读取数据3.从已有定义对象获取数据4.从socket获取数据5.从kafka获取数据代码如下:package com.atguigu.chapter05;import org.apache.flink.api.common.serialization.SimpleStringSchema;import org.apache.flink.streaming.api.datastream.DataStreamSource;原创 2022-05-02 22:13:21 · 828 阅读 · 0 评论 -
Flink练习第一天:wordcount、批处理、流处理
新建工程,引入pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.a原创 2022-05-01 18:02:23 · 1955 阅读 · 0 评论 -
Flink报错:exceeded checkpoint tolerable failure threshould
问题如图:原因:资源太小checkpoint时间太小数据库连接未关闭,资源未释放。解决:重新部署运行,正常!原创 2022-03-14 16:43:36 · 3921 阅读 · 0 评论 -
Could not find a suitable table factory for ‘org.apache.flink.table.factories.TableSourceFactory‘ in
少包~flink-connector-jdbc_2.11-1.12.4.jarJDBC的包,放到/opt/cloudera/parcels/FLINK/lib/flink/lib下面,集群的各个节点都放。原创 2022-01-12 15:53:05 · 1498 阅读 · 0 评论 -
classnotfoundexception org.apache.kafka.common.serialization.ByteArrayDeserializer
少包~kafka-clients-2.2.1.jar放到flink的lib下面,集群都要放。原创 2022-01-12 14:28:37 · 1833 阅读 · 0 评论 -
scalac: Token not found:
IDEA 执行 scala 程序时,报 scalac: Token not found错误解决:Settings -> Plugins把 Scala 插件停用或者卸载,重启 IDEA,再启用 或者安装Scala 插件,重启 IDEA原创 2022-01-11 13:06:36 · 5962 阅读 · 0 评论 -
记一次Flink修改源码操作的大坑
背景:为了适配flinkSQL连接clickhouse,修改flink-connector-jdbc_2.11-1.12.4.jar添加clickhouse的信息。因为有依赖关系,修改源码时报错,就把flink-table-common-1.12.4.jar放到jdk的\jdk\jre\lib\ext下面。(此处埋下隐患:忘了这回事了,坑了一天!!)改完源码,打包,替换到项目里,运行,报错:各种找不到类。网上尝试的所有方法都试过了,还是不行。替换为原来的包,运行还是报错。最后把程原创 2021-11-10 16:40:54 · 2508 阅读 · 1 评论 -
Flink中的表分类、定义与表关联方式,持续记录......
目录表分类Flink中的双流join和维表join一、双流joinTumbling Window JoinSliding Window JoinSession Window JoinInterval JoincoGroup二、维表join1、 预加载维表2、 热存储维表3、 广播维表4、 Temporal table function join四种维表关联方式比较表分类流表时态表 Temporal table维表静态表...原创 2021-11-04 11:17:52 · 1328 阅读 · 0 评论 -
Flink sink任务报错: could not find implicit value for evidence parameter of type org.apache.flink.api...
如图:scala代码开发flink任务,sink到clickhouse时启动报错!报错一:could not find implicit value for evidence parameter of type org.apache.flink.api.common.typeinfo.TypeInformation[org.apache.flink.types.Row] val dataStream = bsTableEnv.toAppendStream[Row](result).map(l..原创 2021-10-11 13:05:02 · 607 阅读 · 0 评论 -
Flink table 转datastream SINK
一、table source1、TableSource源码trait TableSource[T] { //TableSource 是一个接口总共有三个方法 def getReturnType: TypeInformation[T] //获取返回的DataStream或者 DataSet的类型 def getTableSchema: TableSchema //获取table表结构。table里面有哪些字段,字段是什么类型 def explainSource():String...转载 2021-10-10 10:22:47 · 466 阅读 · 0 评论 -
Flink 1.14.0 内存优化(万字长文+参数调优)
本文转载于:Flink 1.14.0 内存优化你不懂?跟着土哥走就对了(万字长文+参数调优)_逆流而上Mr李-优快云博客转载 2021-10-09 17:47:13 · 619 阅读 · 0 评论 -
FlinkSQL sink clickhouse 报错
如下图:如果用FlinkSQL创建clickhouse的表,会报错!原因:Flink目前还不支持clickhouse,源码中写死了。只支持Derby,Mysql,Postgres方言。解决:如果一定要集成,有两个办法:(1)修改Flink源代码,重新打包,添加修改后的jar包。(2)使用反射修改DIALECTS静态final属性 。如果不集成,就先把数据由table转成datastream,再用addsink方法,落地到clickhouse中。...原创 2021-10-09 17:45:01 · 704 阅读 · 0 评论 -
FlinkSQL 追加模式(toAppendStream)与缩进模式(toRetractStream)的区别
追加模式(toAppendStream)与缩进模式(toRetractStream)简介 使用flinkSQL处理实时数据当我们把表转化成流的时候,需要使用toAppendStream与toRetractStream这两个方法。稍不注意可能直接选择了toAppendStream。这个两个方法还是有很大区别的,下面具体介绍。toAppendStream与toRetractStream的区别:追加模式:只有在动态Table仅通过INSERT更改修改时才能使用此模式,即它仅附加,并且...转载 2021-10-09 14:42:12 · 542 阅读 · 0 评论 -
Flink VS Spark
目录对于流的处理数据模型架构模型:任务调度:时间机制:容错机制:其他总结角色类比图表Flink的优势 对于流的处理 Flink和Spark的最大区别依然是对于流的处理上, Spark使用小批量来处理流, 而Flink使用流来处理批Spark Streaming 是微批处理,运行的时候需要指定批处理的时间,每次运行 job 时处理一个批次的数据;Flink 是基于事件驱动的,事件可以理解为消息。事件驱动的应用程序是一种状态应用程序,它会从一原创 2021-09-16 14:59:33 · 569 阅读 · 0 评论 -
FLink job提交依赖包问题解决
目录问题一:问题二:问题三:问题四:问题五:版本不兼容问题六:提交任务最后报错:不影响任务运行。问题一:运行flink jar包,提示少包:java.lang.ClassNotFoundException: org.apache.hadoop.hbase.client.TableDescriptor添加包问题二:pom中配置的hbase的版本不一定要跟实际安装的版本一致!问题三:添加netty-all-4.0.23.Fin.原创 2021-09-08 11:09:00 · 1296 阅读 · 0 评论 -
flinkSQL写入hbase问题汇总
问题一:Expression 'pay_acct_no' is not being grouped解决:检查下group by 的字段是否正确问题二:要插入的列和hbase的列不匹配.解决:注意ROW(),与hbase保持一致。原创 2021-09-08 10:53:55 · 3106 阅读 · 0 评论 -
布隆过滤器(Bloom Filter)的原理和实现
什么情况下需要布隆过滤器?先来看几个比较常见的例子字处理软件中,需要检查一个英语单词是否拼写正确 在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上 在网络爬虫里,一个网址是否被访问过 yahoo, gmail等邮箱垃圾邮件过滤功能这几个例子有一个共同的特点:如何判断一个元素是否存在一个集合中?常规思路数组 链表 树、平衡二叉树、Trie Map (红黑树) 哈希表虽然上面描述的这几种数据结构配合常见的排序、二分搜索可以快速高效的处理绝大部分判断元素是否存在集合中的需求。但.转载 2021-08-05 10:09:59 · 189 阅读 · 0 评论 -
iceberg集成flinksql创建catalog报错:Stack map does not match the one at exception handler 18
如图:解决:原创 2021-07-27 11:08:52 · 681 阅读 · 1 评论 -
hadoop权限问题:Permission denied: user=root, access=WRITE, inode=“/“:hdfs:supergroup:drwxr-xr-x
如图:解决:修改Hadoop配置文件hdfs-site.xml里的权限。最后一步:重启hdfs组件。原创 2021-07-26 15:05:53 · 7838 阅读 · 3 评论 -
任务提交时,报错: Could not deploy Yarn job cluster
如图:任务提交时,报错:Could not deploy Yarn job cluster原因:我们往下看原因:设置的内存超过了限制。解决:修改内存大小设置yarn.scheduler.maximum-allocation-mbyarn.nodemanager.resource.memory-mb...原创 2021-07-26 11:32:20 · 7523 阅读 · 0 评论 -
Flink 任务报错:flink FileNotFoundException: JAR file does not exist: -yn
如图:原因:flink从1.10开始不再支持参数 -yn解决:去掉参数 -yn执行原创 2021-07-26 10:23:55 · 2203 阅读 · 0 评论 -
flinkSQL运行报错:ClassNotFoundException: org.apache.flink.api.common.typeinfo.TypeInformation
如图所示,flinkSQL运行报错:解决:勾选选型原创 2021-07-21 11:20:50 · 2014 阅读 · 0 评论 -
flink消费kafka时报错:找不到TypeInformation类
flink消费kafka时报错:类找不到TypeInformation!原因:没找到包。编译部署的时候没有将依赖全部导入,即使在pom中添加了依赖包的设置: <scope>provided</scope>但是调试的时候需要将这个勾选,否则会报错!...原创 2021-07-09 14:41:09 · 320 阅读 · 0 评论 -
flink创建kafka流表时报错:Cannot discover a connector using option: ‘connector‘=‘kafka‘
flink创建kafka表时,报错:Cannot discover a connector using option: 'connector'='kafka'Could not find any factory for identifier 'kafka' that implements 'org.apache.flink.table.factories原因:参数写错。下方参数提供了可用参数:解决: 修改参数设置为 'connector' = 'kafka-0.11...原创 2021-07-09 14:36:03 · 6225 阅读 · 0 评论 -
Apache Flink流批一体
Spark和Flink都具有流和批处理能力,但是他们的做法是相反的。Spark Streaming是把流转化成一个个小的批来处理,这种方案的一个问题是我们需要的延迟越低,额外开销占的比例就会越大,这导致了Spark Streaming很难做到秒级甚至亚秒级的延迟。Flink是把批当作一种有限的流,这种做法的一个特点是在流和批共享大部分代码的同时还能够保留批处理特有的一系列的优化链接:https://www.jianshu.com/p/a8f022ab6b02开源的大数据分析平台除了Flink外.原创 2021-06-28 16:24:28 · 362 阅读 · 0 评论 -
大数据面试--20210611
基础题1、flink checkpoint 与 savepoint 区别以及使用场景1.checkpoint的侧重点是“容错”,即Flink作业意外失败并重启之后,能够直接从早先打下的checkpoint恢复运行,且不影响作业逻辑的准确性。而savepoint的侧重点是“维护”,即Flink作业需要在人工干预下手动重启、升级、迁移或A/B测试时,先将状态整体写入可靠存储,维护完毕之后再从savepoint恢复现场。2.savepoint是“通过checkpoint机制”创建的...原创 2021-06-11 15:50:05 · 1260 阅读 · 1 评论 -
大数据面试-20210308:hdfs ,Spark streaming, Flink三者中的checkpoint原理 hdfs checkpoint原理
每达到触发条件,会由secondary namenode将namenode上积累的所有edits和一个最新的fsimage下载到本地,并加载到内存进行merge (这个过程称为checkpoint),如下图所示:原创 2021-06-08 16:04:34 · 834 阅读 · 0 评论 -
协同过滤是什么?
协同过滤 Collaborative Filtering简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。协同过滤推荐(Collaborative Filtering recommendation)是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,.原创 2021-06-08 15:43:28 · 917 阅读 · 0 评论 -
Flink使用状态处理器API写入和读取保存点
目录写入保存点主类pom.xml结果输出读取保存点主类结果输出写入保存点主类package myflink.State_Processor;import org.apache.flink.api.common.state.ListState;import org.apache.flink.api.common.state.ListStateDescriptor;import org.apache.flink.api.common.typeinfo.Type.原创 2021-05-26 17:33:42 · 492 阅读 · 0 评论 -
Flink自定义事件事件和水位线
目录主类pom.xml结果输出主类package myflink.EventTime;import org.apache.flink.api.common.eventtime.*;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.streaming.api.TimeCh.原创 2021-05-26 17:13:41 · 496 阅读 · 0 评论 -
flink通过withParameters()方法传递和使用参数
目录主类pom.xml结果输出主类package myflink.Parameter;import org.apache.flink.api.common.functions.RichFilterFunction;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink.api.java.operators.DataSource;import org.apach...原创 2021-05-25 17:08:36 · 697 阅读 · 0 评论 -
flink使用SQL处理有界数据流
目录主类MyOrder类pom.xml结果输出主类package myflink.sql;import myflink.pojo.MyOrder;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink.table.api.Table;import org.apache.flink.table原创 2021-05-25 15:46:23 · 492 阅读 · 0 评论 -
flink使用SQL处理无界数据流
目录主类MySource类pom.xml结果输出主类package myflink.sql;import myflink.source.MySource;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.fli.原创 2021-05-25 15:29:09 · 464 阅读 · 0 评论 -
Flink使用Table API处理有界数据流
目录主类pom.xml结果输出主类package myflink.table;import myflink.pojo.MyOrder;import org.apache.flink.api.java.DataSet;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink.table.api.Table;import org.apache.flink.table.api..原创 2021-05-25 15:12:26 · 310 阅读 · 0 评论 -
Flink使用Table API处理无界数据流
目录主类pom.xml结果输出主类package practice;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import org.apache.flink.table.api.EnvironmentSettings;import or..原创 2021-05-25 14:39:40 · 737 阅读 · 0 评论 -
Error:java: Compilation failed: internal java compiler error(已解决)
目录问题:原因:解决:问题:idea运行项目时提示 Error:java: Compilation failed: internal java compiler error原因:jdk版本问题,编译版本不匹配,或者当前项目jdk版本不支持。解决:总共查看修改三个地方。File ->Project Structure->Project Settings ->Project或使用快捷键Ctrl+Alt+shift+S打开项目的jdk配置.原创 2021-05-25 14:37:08 · 2148 阅读 · 0 评论