做湲网站沈阳做网站哪个好

pingmian/2025/10/17 12:27:26/文章来源:
做湲网站,沈阳做网站哪个好,理发美发培训学校,黑龙江省建设网证书查询《Flink 详解》系列#xff08;已完结#xff09;#xff0c;共包含以下 10 10 10 篇文章#xff1a; 【大数据】Flink 详解#xff08;一#xff09;#xff1a;基础篇【大数据】Flink 详解#xff08;二#xff09;#xff1a;核心篇 Ⅰ【大数据】Flink 详解已完结共包含以下 10 10 10 篇文章 【大数据】Flink 详解一基础篇【大数据】Flink 详解二核心篇 Ⅰ【大数据】Flink 详解三核心篇 Ⅱ【大数据】Flink 详解四核心篇 Ⅲ【大数据】Flink 详解五核心篇 Ⅳ【大数据】Flink 详解六源码篇 Ⅰ【大数据】Flink 详解七源码篇 Ⅱ【大数据】Flink 详解八SQL 篇 Ⅰ【大数据】Flink 详解九SQL 篇 Ⅱ【大数据】Flink 详解十SQL 篇 Ⅲ 如果您觉得这篇文章有用 ✔️ 的话请给博主一个一键三连 吧 点赞 、关注 、收藏 您的支持 将激励 博主输出更多优质内容 Flink 详解八SQL 篇 Ⅰ 82.Flink SQL 有没有使用过83.Flink 被称作流批一体那从哪个版本开始真正实现流批一体的84.Flink SQL 使用哪种解析器85.Calcite 主要功能包含哪些86.Flink SQL 处理流程说一下87.Flink SQL 包含哪些优化规则88.Flink SQL 中涉及到哪些 Operation89.Flink Hive 有没有使用过90.Flink 与 Hive 集成时都做了哪些操作91.HiveCatalog 类包含哪些方法92.Flink SQL 1.11 新增了实时数仓功能介绍一下93.Flink - Hive 实时写数据介绍下93.1 Flink-SQL 写法93.2 Flink-Table 写法 94.Flink - Hive 实时读数据介绍下95.Flink - Hive 实时写数据时如何保证已经写入分区的数据何时才能对下游可见呢 82.Flink SQL 有没有使用过 在 Flink 中一共有四种级别的抽象而 Flink SQL 作为最上层是 Flink API 的一等公民。 在标准 SQL 中SQL 语句包含四种类型 数据操作语言DMLData Manipulation Language用来定义数据库记录数据。数据控制语言DCLData Control Language用来定义访问权限和安全级别。数据查询语言DQLData Query Language用来查询记录数据。数据定义语言DDLData Definition Language用来定义数据库对象库表列等。 Flink SQL 包含 DML 数据操作语言、 DDL 数据定义语言 DQL 数据查询语言不包含 DCL 语言。 可以参考我的这篇博客【数据库】DDL、DML、DCL简介 83.Flink 被称作流批一体那从哪个版本开始真正实现流批一体的 从 1.9.0 版本开始引入了阿里巴巴的 Blink 对 FIink TabIe SQL 模块做了重大的重构保留了 Flink Planner 的同时引入了 Blink PIanner没引入以前Flink 没考虑流批作业统一针对流批作业底层实现两套代码引入后基于流批一体理念重新设计算子以流为核心流作业和批作业最终都会被转为 transformation。 84.Flink SQL 使用哪种解析器 Flink SQL 使用 Apache Calcite 作为解析器和优化器。 Calcite 一种动态数据管理框架它具备很多典型数据库管理系统的功能 如 SQL 解析、 SQL 校验、 SQL 查询优化、 SQL 生成 以及 数据连接查询 等但是又省略了一些关键的功能如 Calcite 并不存储相关的元数据和基本数据不完全包含相关处理数据的算法等。 85.Calcite 主要功能包含哪些 Calcite 主要包含以下五个部分 SQL 解析Parser Calcite SQL 解析是通过 JavaCC 实现的使用 JavaCC 编写 SQL 语法描述文件将 SQL 解析成未经校验的 AST 语法树。 SQL 校验Validato 无状态的校验即验证 SQL 语句是否符合规范。有状态的校验即通过与元数据结合验证 SQL 中的 Schema、Field、 Function 是否存在输入输出类型是否匹配等。 SQL 查询优化 对上个步骤的输出RelNode逻辑计划树进行优化得到优化后的物理执行计划。优化有两种基于规则的优化 和 基于代价的优化后面会详细介绍。 SQL 生成 将物理执行计划生成为在特定平台 / 引擎的可执行程序如生成符合 MySQL 或 Oracle 等不同平台规则的 SQL 查询语句等。 数据连接与执行 通过各个执行平台执行查询得到输出结果。 在 Flink 或者其他使用 Calcite 的大数据引擎中一般到 SQL 查询优化即结束由各个平台结合 Calcite SQL 代码生成和平台实现的代码生成将优化后的物理执行计划组合成可执行的代码然后在内存中编译执行。 86.Flink SQL 处理流程说一下 下面举个例子详细描述一下 Flink SQL 的处理流程如下所示 SET table.sql-dialectdefault; CREATE TABLE log_kafka (user_id STRING,|order_amount DOUBLE,log_ts TIMESTAMP(3),WATERMARK FOR log_ts AS log_ts - INTERVAL 5 SECOND ) WITH (connectorkafka,property-version universal,topic test,properties.bootstrap.servers hlink163:9092,scan.startup.mode earliest-offset,format json,json.fail-on-missing-field false,json.ignore-parse-errors true,properties.group.id flink1 );我们写一张 Source 表来源为 Kafka当执行 create table log_kafka 之后 Flink SQL 将做如下操作 首先Flink SQL 底层使用的是 Apache Calcite 引擎来处理 SQL 语句Calcite 会使用 JavaCC 做 SQL 解析JavaCC 根据 Calcite 中定义的 Parser.jj 文件生成一系列的 Java 代码生成的 Java 代码会 把 SQL 转换成 AST 抽象语法树即 SqlNode 类型。生成的 SqlNode 抽象语法树它是一个未经验证的抽象语法树这时SQL Validator 会获取 Flink Catalog 中的元数据信息来验证 SQL 语法元数据信息检查包括表名字段名函数名数据类型等检查。然后生成一个校验后的 SqlNode。到达这步后只是将 SQL 解析到 Java 数据结构的固定节点上并没有给出相关节点之间的关联关系以及每个节点的类型信息。所以还 需要将 SqlNode 转换为逻辑计划也就是 LogicalPlan在转换过程中会使用 SqlToOperationConverter 类来将 SqlNode 转换为 OperationOperation 会根据 SQL 语法来执行创建表或者删除表等操作同时 FlinkPlannerImpl.rel() 方法会将 SqlNode 转换成 RelNode 树并返回 RelRoot。第 4 步将执行 Optimize 操作按照预定义的优化规则 RelOptRule 优化逻辑计划。Calcite 中的优化器 RelOptPlanner 有两种一是基于规则优化RBO的 HepPlanner二是基于代价优化CBO的 VolcanoPlanner。然后得到优化后的 RelNode, 再基于 Flink 里面的 rules 将优化后的逻辑计划转换成物理计划。第 5 步执行 Execute 操作会通过代码生成 transformation然后递归遍历各节点将 DataStreamRelNode 转换成 DataStream在这期间会依次递归调用 DataStreamUnion、DataStreamCalc、DataStreamScan 类中重写的 translateToPlan 方法。递归调用各节点的 translateToPlan实际是利用 CodeGen 元编成 Flink 的各种算子相当于直接利用 Flink 的 DataSet 或者 DataStream 开发程序。最后进一步编译成可执行的 JobGraph 提交运行。 87.Flink SQL 包含哪些优化规则 下图为执行流程图 总结就是 先解析然后验证将 SqlNode 转化为 Operation 来创建表然后调用 rel 方法将 SqlNode 变成逻辑计划RelNodeTree紧接着对逻辑计划进行优化。优化之前会根据 Calcite 中的优化器中的基于规则优化的 HepPlanner 针对四种规则进行预处理处理完之后得到 Logic RelNode紧接着使用代价优化的 VolcanoPlanner 使用 Logical_Opt_Rules逻辑计划优化找到最优的执行 Planner并转换为 Flink Logical RelNode。最后运用 Flink 包含的优化规则如 DataStream_Opt_Rules流式计算优化、DataStream_Deco_Rules装饰流式计算优化将优化后的逻辑计划转换为物理计划。 优化规则包含如下 子查询优化Table_subquery_rules扩展计划优化Expand_plan_rules扩展计划优化Post_expand_clean_up_rules正常化流处理Datastream_norm_rules逻辑计划优化Logical_Opt_Rules流式计算优化DataStream_Opt_Rules装饰流式计算优化DataStream_Deco_Rules 88.Flink SQL 中涉及到哪些 Operation 先介绍一下什么是 Operation在 Flink SQL 中涉及的 DDLDMLDQL 操作都是 Operation在 Flink 内部表示Operation 可以和 SqlNode 对应起来。 Operation 执行在优化前执行的函数为 executeQperation如下图所示为执行的所有 Operation。 89.Flink Hive 有没有使用过 Flink 社区在 Flink 1.11 版本进行了重大改变如下图所示 90.Flink 与 Hive 集成时都做了哪些操作 如下所示为 Flink 与 Hive 进行连接时的执行图 Flink 1.1 新引入了 Hive 方言所以在 Flink SQL 中可以编写 Hive 语法即 Hive Dialect。编写 Hive SQL 后FlinkSQL Planner 会将 SQL 进行解析验证转换成逻辑计划物理计划最终变成 Jobgraph。HiveCatalog 作为 Flink 和 Hive 的表元素持久化介质会将不同会话的 Flink 元数据存储到 Hive Metastore 中。用户利用 HiveCatalog 可以将 Hive 表或者 Kafka 表存储到 Hive Metastore 中。 BlinkPlanner 是在 Flink 1.9 版本新引入的机制Blink 的查询处理器则实现流批作业接口的统一底层的 API 都是 Transformation。真正实现流 批的统一处理替代原 FlinkPlanner 将流 批区分处理的方式。在 1.11 版本后已经默认为 Blink Planner。 91.HiveCatalog 类包含哪些方法 重点方法如下 HiveCatalog 主要是持久化元数据所以一般的创建类型都包含如 database、Table、View、Function、Partition还有 is_Generic 字段判断等。 92.Flink SQL 1.11 新增了实时数仓功能介绍一下 Flink 1.11 版本新增的一大功能是实时数仓可以实时的将 Kafka 中的数据插入 Hive 中传统的实时数仓基于 Kafka Flink Streaming定义全流程的流计算作业有着秒级甚至毫秒的实时性但实时数仓的一个问题是历史数据只有 3 − 15 3-15 3−15 天无法在其上做 Ad-hoc 的查询。 针对这个特点Flink 1.11 版本将 FlieSystemStreaming Sink 重新修改增加了分区提交和滚动策略机制让 HiveStreaming Sink 重新使用文件系统流接收器。 Flink 1.11 的 Table / SQL API 中FileSystemConnector 是靠增强版 StreamingFileSink 组件实现在源码中名为 StreamingFileWriter。 只有在 Checkpoint 成功时StreamingFileSink 写入的文件才会由 Pending 状态变成 Finished 状态从而能够安全地被下游读取。所以我们一定要打开 Checkpointing并设定合理的间隔。 93.Flink - Hive 实时写数据介绍下 StreamingWrite从 Kafka 中实时拿到数据使用分区提交将数据从 Kafka 写入 Hive 表中并运行批处理查询以读取该数据。 93.1 Flink-SQL 写法 Source 源 Sink 目的 Insert 插入 93.2 Flink-Table 写法 Source 源 Sink 目的 Insert 插入 94.Flink - Hive 实时读数据介绍下 Flink 源码中在对 Hive 进行读取操作时会经历以下几个步骤 Flink 都是基于 Calcite 先解析 SQL确定表来源于 Hive如果是 Hive 表将会在 HiveCatalog 中创建 HiveTableFactory。HiveTableFactory 会基于配置文件创建 HiveTableSource然后 HiveTableSource 在真正执行时会调用 getDataStream 方法通过 getDataStream 方法来确定查询匹配的分区信息然后创建表对应的 InputFormat然后确定并行度根据并行度确定 slot 分发 HiveMapredSplitReader 任务。在 TaskManager 端的 slot 中Split 会确定读取的内容基于 Hive 中定义的序列化工具InputFormat 执行读取反序列化得到 value 值。最后循环执行 reader.next 获取 value将其解析成 Row。 95.Flink - Hive 实时写数据时如何保证已经写入分区的数据何时才能对下游可见呢 如下图所示 首先可以看一下在实时的将数据存储到 Hive 数仓中FileSystemConnector 为了与 Flink-Hive 集成的大环境适配最大的改变就是分区提交可以看一下左下图官方文档给出的分区可以采取 日期 小时 的策略或者 时分秒 的策略。 那如何保证已经写入分区的数据何时才能对下游可见呢 这就和 触发机制 有关 触发机制包含 process-time 和 partition-time 以及时延。 partition-time 指的是根据事件时间中提取的分区触发。当 watermark partition-time delay选择 partition-time 的数据才能提交成功 process-time 指根据系统处理时间触发当加上时延后要想让分区进行提交当 currentprocessing time partition creation time delay 选择 process-time 的数据可以提交成功。 但选择 process-time 触发机制会有缺陷就是当数据迟到或者程序失败重启时数据不能按照事件时间被归入正确分区。所以一般会选择 partition-time。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

邯郸广告公司网站建设wordpress rest 认证

排查思路 当正在运行的Java服务导致服务器的CPU突然飙高时,我们该如何排查定位到哪个接口的哪行代码导致CPU飙高的问题呢?我主要提供两个方案: jstackarthas 准备工作 代码准备 现在需要准备一段可以让服务器CPU飙高的代码以及把代码部署…

四川建设厅网站 蒋深圳app开发公司都有哪些

随着科技的发展,人工智能、大数据等技术逐渐应用于各个领域,为人们的生活带来便利。在电力行业,AR(增强现实)技术的应用也日益广泛。AR配电所巡检系统作为一种新型的巡检方式,可以实现多种功能,提高巡检效率&#xff0…

昆山智能网站开发wordpress 远程设置

2020年5月20日,全球领先的多云应用服务厂商F5公司以线上峰会的形式开启了F5 2020 “代码到用户” 暨F5中国20周年纪念庆典,深入解读了F5“代码到用户” 的战略。F5全球首席执行官范仲林先生、F5全球首席科学家及首席技术官林耕先生、NGINX创始人Igor Sys…

网站建设和维护自学北京哪家做网站和网络推广好的

什么是LoRa LoRa无线通信技术是 Semtech 在2012年开发出来的一款适合物联网使用的射频IC、其设计理念为低功耗、长距离、低成本、网路简单、易于扩展的无线数传技术。 在一般的通信中、通信的距离与功耗成正比、传输距离越远、功耗越高,而LoRa无线通信模块可以实现…

删除百度收录的网站自己怎么开发网站

Pod 的状态和 Pod 里面的容器的状态是密切相关的。Pod 是 Kubernetes 中最小的调度单元,一个 Pod 可以包含一个或多个容器。Pod 的状态反映了 Pod 中所有容器的状态情况。 Pod 的状态包括: Pending(等待):Pod 已经被创…

网站层级高清免费素材网

简介 智能指针是一种特殊的指针类型,它能够自动管理内存资源,避免常见的内存泄漏和多次释放等。在C 11标准中出现了新的智能指针unique_ptr、 shared_ptr、weak_ptr等。 std::unique_ptr 用于管理动态分配的内存资源,它提供了自动释放内存的功…

flash网站特点wordpress速度太慢

es6对象浅复制: 字符串大小比较: 如果是汉字:a.charCodeAt() > b.charCodeAt() //使用carCodeAt将器转为asci码,在进行比较 如果是非汉字的字符串:直接比较或者使用上面的转码比较都可以。 如果是日期比较&#xff…

服装网站建设准备英文注册查询网站

1688商品详情API在跨境电子商务中的重要性 一、引言 随着全球电子商务的迅速发展和普及,跨境电子商务已经成为国际贸易的一种重要形式。1688作为全球最大的B2B电子商务平台之一,不仅为国内商家提供了丰富的商品资源,同时也为跨境商家提供了…

dedecms 做门户网站深圳做网站的公司有哪些

#expect脚本在自动化部署中的具体应用 expect脚本是一个非常好的交互式应用脚本,在自动化部署中,可以使用这个脚本来实现全自动的自动化部署。下面是一些具体的应用案例。 场景一:自动安装mysql 可以使用expect脚本来实现mysql自动安装&…

a站为什么不火了人力外包项目发布平台

实现文件拖拽功能 1、设备 -- 安装增强功能 -- /bin/sh VboxLinuxaddition.run -- reboot 2、设备 -- 拖放 -- 双向 3、虚拟机 -- 设置 -- 存储 -- 控制器:SATA -- 勾选 使用主机输入输出(I\O 缓存) 4、虚拟机硬盘 -- 勾选固态驱动器 转载于…

西安外贸网站建设做英语quiz的网站

文章目录 [toc] 二维随机向量及其分布随机向量离散型随机向量的概率分布律性质示例问题解答 连续型随机向量的概率密度函数随机向量的分布函数性质连续型随机向量均匀分布 边缘分布边缘概率分布律边缘概率密度函数二维正态分布示例问题解答 边缘分布函数 二维随机向量及其分布 …

合肥企业网站建设公司做棋盘游戏辅助的网站

Jenkins是一个基于Java开发的开源的一种持续集成工具,主要用于环境部署,监控重复性的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。要想使用它,你就必须的先安装,接下来我们就介绍下J…

怎样做o2o网站收银系统一套多少钱

给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 复习一下ssrf的原理及危害,并且以weblog的ssrf漏洞为案例 漏洞原理 SSRF(Server-side Request Forge, 服务端请求伪造) 通常用于控制web进而…

网站统计有哪些安阳论坛网

1、查看当前语言变量值$ locale2、查看系统内安装的语言$ locale -a3、临时修改语言值$ export LC_ALLen_US.UTF-8$ export LANGUAGEen_US:en$ export LC_ALLzh_CN.UTF-8$ export LC_ALLzh_CN.GB18030$ export LANGUAGEzh_CN:zh:en_US:en4.1、永久修改系统的语言值修改文件/etc…

成都网站建设seo宝安中心有什么好玩的地方

最近特别懒,不想码字,原本写作就很差,更是退化严重。社招和校招面试过很多人,从十年前自己还很弱的时候学着面试,到数百次面试积累之后,面对候选人的时候,我的内心依然有些许紧张,非…

网站制作 流程如何做体育彩票网站

这个问题我其实遇到很久了,目前解决方案是手动注入service,并且把工具类也手动注入。 场景: 在spring中,我们经常会定义工具类来做一些奇怪的事情,我当前是通过定时任务quarz调度工具类,工具类再调servic…

电商网站建设济南建网站鞍山黄殿满

特征选择和稀疏学习 子集搜索与评价 对象都有很多属性来描述,属性也称为特征(feature),用于刻画对象的某一个特性。对一个学习任务而言,有些属性是关键有用的,而有些属性则可能不必要纳入训练数据。对当前学…

湖北省建设厅招骋网站网站开发工程师的要求

一、前言 随着对可再生能源的需求不断增长,太阳能作为一种清洁、可持续的能源形式,受到越来越多的关注和应用。太阳能光板通常固定在一个固定的角度上,这限制了它们对太阳光的接收效率。为了充分利用太阳能资源,提高太阳能光板的…

做外贸怎样打开国外网站企业信用信息查询公示系统年审

元对象系统 元对象系统是一个基于标准C++的扩展,为Qt提供了信号与槽机制、实时类型信息、动态属性系统。 元对象系统的三个基本条件:类必须继承自QObject、类声明Q_OBJECT宏、元对象编译器moc。 Qt元对象编译器(Moc)是Qt框架中的一个重要工具,用于处理Qt特有的元对象系统…