sns有哪些著名的网站有哪些,遵义公司做网站找哪个公司好,淄博网站建设优化公司,专业网页制作软件都能帮助用户组织和管理1、Flink 的四大特征#xff08;基石#xff09;
checkpoin基于Chandy-Lamport算法实现了分布式一致性快照提供了一致性的语义 state丰富的StateAPI time实现了Watermark机制#xff0c;乱序数据处理#xff0c;迟到数据容忍 window开箱即用的滚动#xff0c;滑动会话窗口…1、Flink 的四大特征基石
checkpoin基于Chandy-Lamport算法实现了分布式一致性快照提供了一致性的语义 state丰富的StateAPI time实现了Watermark机制乱序数据处理迟到数据容忍 window开箱即用的滚动滑动会话窗口以及灵活的自定义窗口 2、Flink 中都有哪些 Source哪些 Sink哪些算子方法
预定义的Source 基于本地的SourceCollection-based-source 基于文件的SourceFile-basedsource 基于网络套接字socketTextStream 自定义的Source 实现接口 SourceFunction并行度只能1 ParallelSourceFunction并行度可以1 实现类 RichSourceFunction多功能非并行数据源并行度只能1 RichParallelSourceFunction多功能并行数据源(并行度能够1) --类 【建议使用的】 Flink中常见的Sink Print打印到控制台 WriteAsText以文本格式输出 WriteAsCsv以csv格式输出 writeUsingOutputFormat 以指定的格式输出 writeToSocket 输出到网络端口 自定义连接器addSink 继承RichSinkFunction类 调用FlinkKafkaProducer 调用JdbcSink 算子方法 mapflatmap、keyby、reduce、filter、CountWindow、aggregate、sum、min、max、apply、process 3、什么是侧道输出流有什么用途
侧输出可以看作是操作符的一个额外的输出通道除了主输出流之外操作符还可以产生一个或多个侧输出流。这些侧输出流可以被路由到不同的下游操作符用于进一步处理。侧输出是通过 OutputTag 来实现的。OutputTag 是一个类它用于标记一个特定的侧输出。使用时你需要为每个侧输出创建一个 OutputTag 实例并在操作符中使用它来指定数据流向哪个侧输出。 4、Flink 中两个流如何合并为一个流 Union可以合并多个同类型的流合并的datastream的类型必须是一致的不会去重 Connect可以连接两个不同类型的流最后需要吃力后再输出不同类型的数据可以分开处理map(new CoMapFunctionString, Long, String() {}和process(new CoProcessFunctionString, Long, String() {} 5、Flink 中两个流如何 join join 滚动/滑动窗口join coGroup 可以在apply方法中实现左右连接内连接 intervalJoin 6、Flink 中都有哪些 window什么是滑动滚动窗口 不分组窗口Non-Keyed WindowwindowAll不对数据流进行分组它们的原理和操作与Keyed Window类似唯一的区别在于所有数据将发送给下游的单个实例或者说下游算子的并行度为1。 分组窗口Keyed Window CountWindow按照指定的数据条数生成一个Window与时间无关。 滚动计数窗口每隔N条数据统计前N条数据 滑动计数窗口每隔N条数据统计前M条数据 TimeWindow按照时间生成Window。重点 滚动时间窗口每隔N时间统计前N时间范围内的数据窗口长度N滑动距离N 滑动时间窗口每隔N时间统计前M时间范围内的数据窗口长度M滑动距离N 什么是滑动什么是滚动 滚动窗口长度 滑动距离 滑动窗口长度滑动距离 7、flink 中都有哪些时间语义对于 event_time 中数据迟到的处理数据乱序 EventTime:事件(数据)时间,是事件/数据真真正正发生时/产生时的时间 IngestionTime:摄入时间,是事件/数据到达流处理系统的时间 ProcessingTime:处理时间,是事件/数据被处理/计算时的系统的时间 数据迟到的处理 通过 assignTimestampsAndWatermarks 来设置水位线时间让短时间内大量迟到的数据可以进入对应的窗口当水位线时间漫过窗口时间开始触发窗口操作。 通过 allowedLateness 来设置延迟时间让在延迟时间内迟到的数据可以进入窗口计算。 通过 sideOutputLateData 来设置侧输出流进行兜底让更晚到的数据进入侧输出流中。
8、flink 中的状态指的是什么有哪些状态你使用过哪些状态哪个项目使用到了状态 状态指的就是历史数据有状态计算和无状态计算 状态分为托管状态Managed State和原生状态Raw State对Managed State继续细分它又有两种类型Keyed State和Operator State。 使用过Managed State下的keyed State 套牌车 9、flink 中 checkpoint 是什么如何设置。 State:状态,是Flink中某一个Operator在某一个时刻的状态,如maxBy/sum,注意State存的是历史数据/状态,存在内存中。 Checkpoint:快照点, 是Flink中所有有状态的Operator在某一个时刻的State快照信息/存档信息。 一句话概括: Checkpoint就是State的快照。 代码中手动设置 集群跑jar包运行命令设置 手动保存checkPoint 1、使用 ctrlc是不能停止flink任务的需要在8081界面进行canle job 2、使用命令手动保存checkPoint 此时保存快照且不会停止任务 flink savepoint 79f53c5c0bb3563b6b6ed3011176c411 hdfs://bigdata01:9820/flink/checkpoint 3、停止的时候保存一次快照 flink stop --savepointPath hdfs://bigdata01:9820/flink/checkpoint c81bb1546866566ce4e16181d0c52be8 4、停止一个任务 flink stop 152e493da9cdeb327f6cbbad5a7f8e41 job编号 79f53c5c0bb3563b6b6ed3011176c411 job编号 手动保存时不需要在代码中设置有关checkpoint相关的配置 手动保存和自动保存的结果文件是不一样的 flink run -c com.bigdata.day06._01CheckPointDemo -s hdfs://bigdata01:9820/flink/checkpoint/bf416df7225b264fc34f8ff7e3746efe/chk-603 /opt/app/FlinkDemo-1.0-SNAPSHOT.jar -s 表示checkPoint的文件地址 10、flink 中的重启策略 流式计算中的重启策略 重启策略的意义流式数据是不可能停止的假如有一条错误数据导致程序直接退出后面的大量数据是会丢失的对公司来讲意义是重大的损失是惨重的。 11、什么是维表 join如何实现你在哪个项目中使用过维表 join
所谓的维表Join: 进入Flink的数据需要关联另外一些存储设备的数据才能计算出来结果那么存储在外部设备上的表称之为维表可能存储在mysql也可能存储在hbase 等。维表一般的特点是变化比较慢。 预加载维表 通过定义一个类实现RichMapFunction在open()中读取维表数据加载到内存中在kafka流map()方法中与维表数据进行关联。如果表经常变化而且表的数据量比较大的话这个就不太ok还可以不在open中读取数据只建立查询的连接在map中再执行查询可以适应表数据变化的情况 将维表数据存储在Redis、HBase、MySQL等外部存储中实时流在关联维表数据的时候实时去外部存储中查询 优点维度数据量不受内存限制可以存储很大的数据量。 缺点因为维表数据在外部存储中读取速度受制于外部存储的读取速度另外维表的同步也有延迟。 热存储维表 使用缓存来存储一部分常访问的维表数据以减少访问外部系统的次数比如使用Guava Cache。 相当于把数据按照一定数量和一定的时间间隔来查询更新和存储到缓存中每次需要用到的时候先去缓存查找如果没有在去数据库查找 12、flinksql 如何读取 kafka 或者 mysql 的数据。 table转stream和stream转table