如何写出简单高效的 Flink SQL
Flink SQL Insight在 Flink SQL Insight 部分,Flink 作为流批一体计算引擎,给大家提供了统一的 API,统一的算子描述,以及统一的调度。但 Flink 算子的底层仍有一些细微的差别。对于一个批算子而言,它的输入是一个有限数据集。批算子会基于完整数据集进行计算,计算过程中如果内存装不下,数据会 Spill 到磁盘。对于流算子而言,它的输入是一个无限数据集。与
SQL 查询(DQL)的完整语法
语法结构```sql SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段 HAVING 分组后条件 ORDER BY 排序字段 LIMIT 分页限定```
大数据技术 - Apache Paimon 的介绍
介绍Apache Paimon (incubating) 是一项流式数据湖存储技术,可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力。它采用开放的数据格式和技术理念,可以与 Apache Flink / Spark / Trino 等诸多业界主流计算引擎进行对接,共同推进 Streaming Lakehouse 架构的普及和发展。 特点它是一项流式数据湖存储技术,可以为用户提
大数据技术 - Apache Flink ML 的介绍
介绍Flink ML 是一个基于 DataStream 的迭代引擎和机器学习算法库。它旨在为用户提供高效的离线和在线算法库。Flink ML 实现了端到端的性能测试框架,是保障整个算法性能的基础。它提供了完整的 Python 支持,用户可以通过 Python 提交任务。Flink ML 库包括以下几部分内容:概况,Flink ML 迭代执行引擎,Flink ML 高效算法库。 特点它是一个基
Flink 中 map 和 mapPartition的区别
介绍在 Flink 中,map 和 mapPartition 都是转换操作,它们可以对数据流中的元素进行处理和转换。它们之间的主要区别在于处理数据的粒度不同。 mapmap 转换操作接收一个 MapFunction,它对数据流中的每个元素进行处理。MapFunction 的 map 方法接收一个输入元素,并返回一个输出元素。例如,下面的代码使用 map 转换操作将输入流中的每个整数乘以 2:
Nacos、OpenFeign、Ribbon 等组件协调工作的原理
介绍Nacos、OpenFeign 和 Ribbon 都是用于构建微服务架构的组件,它们可以协同工作以提供服务发现、负载均衡和远程调用等功能。Nacos 是一个动态服务发现和配置管理平台。它可以帮助您管理微服务架构中的服务实例,并提供实时的服务发现和配置更新功能。OpenFeign 是一个声明式的 HTTP 客户端,它可以帮助您轻松地编写远程调用代码。它提供了一种简单的方法来定义和调用远程服务
SPI 的介绍
介绍SPI(Service Provider Interface)是一种服务发现机制,它允许第三方为应用程序提供可插拔的实现。SPI 的目标是使应用程序能够在运行时发现和使用可用的服务实现,而无需在编译时进行硬编码。在 Java 中,SPI 通常通过在类路径下的 META-INF/services 目录中定义服务提供者配置文件来实现。这些配置文件的名称应该与服务接口的完全限定名称相同,文件内容
JSTAT分析JVM内存
介绍jstat 是一个用于监视 Java 虚拟机(JVM)统计信息的命令行工具。它可以帮助您分析 JVM 的内存使用情况,包括堆内存和垃圾回收统计信息。下面是一个简单的示例,演示如何使用 jstat 分析 JVM 内存:1.首先,您需要确定要监视的 JVM 进程的进程 ID。您可以使用 jps 命令来查看当前运行的 JVM 进程: $ jps 12345 MyApplication
数据仓库、数据平台、数据中台、数据湖的概念和区别
介绍数据仓库:数据仓库是一种用于存储、管理和分析结构化数据的大型集中式存储库。它通常用于支持商业智能和决策支持应用程序。数据仓库中的数据通常经过转换和清洗,以便更好地支持分析查询。数据平台:数据平台是一种提供数据存储、管理、处理和分析能力的技术平台。它可以包括多种技术组件,如数据库、数据仓库、大数据处理引擎、数据集成工具等。数据平台旨在支持企业的整个数据生命周期,从数据采集到数据分析。数据中台
大数据技术 - Azure Data Lake 数据湖的介绍
介绍Azure Data Lake 是一种无限制的数据湖,用于支持智能行动。它可以存储和分析 PB 级文件和万亿级对象,轻松调试和优化大数据程序。您可以在几秒钟内启动,即时扩展,并按作业付费。它支持使用简单性开发大规模并行程序,并具有企业级安全性、审核和支持Azure Data Lake 包括所有必要的功能,使开发人员、数据科学家和分析师能够轻松存储任何大小、形状和速度的数据,并在各种平台和语
常用的文件格式CSV、TSV、TXT之间的异同
CSVCSV(Comma-Separated Values)是一种以逗号分隔值的文件格式,通常用于存储表格数据。每行代表一条记录,每个字段用逗号分隔。例如: name,age,gender Alice,25,Female Bob,30,Male TSVTSV(Tab-Separated Values)与 CSV 类似,但是使用制表符(Tab)而不是逗号来分隔字段。例如: name
Flink sql源码执行的流程
介绍Flink SQL 的转换流程大致如下:首先,SQL 语句经过 Calcite 解析生成抽象语法树 SQLNode。然后,基于生成的 SQLNode 并结合 Flink Catalog 完成校验生成一颗 Operation 树。接下来,Blink Planner 将 Operation 树转换为执行计划 文章推荐https://juejin.cn/post/709535439410338
基于 Log 的通用增量 Checkpoint
介绍基于 Log 的通用增量 Checkpoint 是 Flink 的一个功能。它通过持续上传增量 Changelog 的方法,来确保每次 Checkpointing 可以稳定快速的完成,从而减小 Checkpointing 之间的间隔,提升 Flink 系统端到端的延迟 文章推荐https://www.jianshu.com/p/29acbd603782
Flink - suffle 过程解读
介绍Flink 的 shuffle 过程分为几个重要的阶段,包括写数据到内存缓冲区、对内存缓冲区进行排序、将排好序的数据写出到文件以及从文件中读取 shuffle 数据并发送给下游。目前,有两种批数据 shuffle 模型被现有的大规模分布式计算系统采用,分别是基于 hash 的方式以及基于 sort 的方式。基于 hash 方式的核心思路是将发送给下游不同并发消费任务的数据写到单独的文件中,
centos7 - 显示文件打开过多
解决方案您可以使用 ulimit -a 命令查看文件打开数是否已经设置得足够大了。如果没有,您可以在 /etc/security/limits.conf 文件中永 久设置文件打开数。您可以使用 lsof 命令查看哪个进程一直在打开文件没有做限制。例如,您可以使用 lsof -p pid | wc -l 命令查看特定进程的文件打开数。您可以告知研发人员问题,让他们优化代码。您也可以使用脚本监控文
Kafka - 配置文件参数优化方案
num·network.threads:参数用于设置处理Kafka集群请求的网络线程数,例如客户端应用程序的生产和获取请求。可以根据复制因子和客户端生产者和消费者与Kafka集群的交互的活动水平来调整网络线程数建议配置数:6 或者 9;参数的配置值一般建议是磁盘个数的倍数,但不超过CPU核数 num.io·threads:参数用于设置处理磁盘I/O操作的线程数。建议配置数:16 或者 32;
Kafka - 集群搭建的注意事项
注意集群搭建的时候,ZK不要和Kafka放到一个机器上
数仓命名规范大全
介绍数仓命名规范是指在数仓建设中对表名、字段名、主题域名等进行统一命名的规范。这些规范可以帮助使用者轻松地理解表的作用和含义。例如,阿里云开发者社区有一篇文章,它全面讲解了数仓建设规范,包括数据模型规范、数仓公共规范、数仓各层规范,以及数仓命名规范,包括表命名、指标字段命名规范等 推荐文章https://mp.weixin.qq.com/s/i7yDRpR_rWI598eVG1wDmwhtt
什么是网络堆栈?
介绍网络堆栈是Flink内部的一个通信框架,它使用共享内存来实现不同并发之间的快速通信。在Flink中,一个并发可以是一个任务管理器上的一个任务槽,也可以是一个集群中的一个计算节点。在一个任务槽中运行的算子可以通过网络堆栈和其他任务槽中的算子进行通信。具体来说,Flink使用共享内存来实现任务槽之间的数据交换,每个任务槽中的算子都会将数据写入共享内存的一个区域,并将该区域的位置信息发送给目标算
Flink不同并发之间如何通信
介绍在Apache Flink中,不同并发之间的通信通常通过网络堆栈来实现。网络堆栈使用共享内存来实现快速通信。一个并发可以是一个任务管理器上的一个任务槽,也可以是一个集群中的一个计算节点。任务槽中的算子可以通过网络堆栈和其他任务槽中的算子进行通信。Flink也可以使用TCP或RDMA协议来跨计算节点进行通信,但这种方式的效率比基于共享内存的通信方式要低。