流批一体计算引擎-17-[Flink]中的Table API常用算子

文章目录

  • 1 概述&示例
    • 1.1 data.csv
    • 1.2 代码示例
  • 2 操作算子
    • 2.1 扫描、投影和过滤
      • 2.1.1 from_path【流批】
      • 2.1.2 from_elements【流批】
      • 2.1.3 select【流批】
      • 2.1.4 alias【流批】
      • 2.1.5 where【流批】
      • 2.1.6 filter【流批】
    • 2.2 列操作
      • 2.2.1 add_columns【流批】
      • 2.2.2 add_or_replace_columns【流批】
      • 2.2.3 drop_columns【流批】
      • 2.2.4 rename_columns【流批】
    • 2.3 聚合
      • 2.3.1 GroupBy【流批结果更新】
      • 2.3.2 GroupBy Window【流批】
      • 2.3.3 Over Window【流批】
      • 2.3.4 Distinct Aggregation 【流批结果更新】
      • 2.3.5 Distinct【流批结果更新】
    • 2.4 连接
      • 2.4.1 Inner Join【流批】
      • 2.4.2 Outer Join【流批结果更新】
  • 3 参考附录

Table API是批处理和流处理的统一的关系型API。
Table API的查询不需要修改代码就可以采用批输入或流输入来运行。
Table API是SQL语言的超集,并且是针对Apache Flink专门设计的。
Table API集成了Scala,Java和Python语言的API。
Table API的查询是使用Java,Scala或Python语言嵌入的风格定义的,有诸如自动补全和语法校验的IDE支持,而不是像普通SQL一样使用字符串类型的值来指定查询。

1 概述&示例

Table API支持Scala, Java和Python语言。
Scala语言的Table API利用了Scala表达式;
Java语言的Table API支持DSL表达式和解析并转换为等价表达式的字符串;Python语言的Table API仅支持解析并转换为等价表达式的字符串。

下面的例子展示了 Scala、Java 和 Python 语言的 Table API 的不同之处。表程序是在批环境下执行的。程序扫描了 Orders 表,通过字段 a 进行分组,并计算了每组结果的行数。

1.1 data.csv

lily,20,30,"2

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

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

相关文章

Linux 性能调优

在 Linux 系统上进行性能调优时,通常需要从多个方面入手。可以针对 CPU、内存、磁盘 I/O、网络以及系统进程进行优化,以提高系统的整体性能。以下是一些常见的 Linux 性能调优方法和工具,帮助你提高系统效率。 1. CPU 调优 1.1. 监控 CPU 使…

决策树(1)

原理 基础概念 决策树属于判别模型。 决策树算法属于监督学习方法。 决策树是一种树状结构,通过做出一系列决策(选择)来对数据进行划分,这类似于针对一系列问题进行选择。 决策树的决策过程就是从根节点开始,测试待分…

SpringBoot中的对象

BeanFactory 是 Spring 框架的核心接口之一,用于管理和创建 Bean。它提供了一种机制,通过配置文件或注解来定义和实例化 Java 对象,并将这些对象存储在一个容器中,以便在应用程序的其他部分进行使用。 主要功能 管理 Bean 的生…

UNION 联合查询

1.UNION ALL联合查询 同样为了演示方便,先向 teacher 表插入多条测试数据: INSERT INTO teacher (name,age,id_number,email) VALUES (姓名一,17,42011720200604077X,NULL), (姓名二,18,42011720200604099X,123qq.com), (姓名三,19,42011720200604020X…

007、链表的回文结构

0、题目描述 链表回文结构 1、法1 一个复杂的问题可以拆解成几个简单的问题,找中间节点和逆置链表(翻转链表)之前都做过。 class PalindromeList { public://1、找中间节点ListNode* FindMid(ListNode* A){if (A nullptr || A->next …

ConcurrentHashMap 存储机制(源码解析)

源码系列开更啦 🥰🥰 目录 1. 初始化 1.1. 无参 1.2. 带参 2. 存储操作 2.1. 计算下标 2.2. 初始化数组 2.3. 将数据插入到数组中 2.4. 协作扩容 2.5. 将数据插入到链表 2.6. 将数据插入到红黑树 2.7. 链表树化操作 1. 初始化 1.1. 无参 如…

【ROS2】订阅手柄数据,发布运动命令

1、相关消息 sensor_msgs::msg::Joy:用来描述手柄控制器数据 geometry_msgs::msg::Twist :用来描述物体运动时的线速度和角速度 参见博客: 【ROS2】geometry_msgs::msg::Twist和sensor_msgs::msg::Joy 2、订阅和发布 2.1 定义、创建订阅者和发布者 订阅手柄的按键、摇杆…

流程图 LogicFlow

流程图 LogicFlow 官方文档&#xff1a;https://site.logic-flow.cn/tutorial/get-started <script setup> import { onMounted, ref } from vue import { forEach, map, has } from lodash-es import LogicFlow, { ElementState, LogicFlowUtil } from logicflow/core …

前端学习---(2)CSS基础

CSS 用来干什么&#xff1f; CSS 是用来指定文档如何展示给用户的一门语言——如网页的样式、布局、等等。 css语法: 选择器{ 属性名: 属性值; 属性名: 属性值; } h1 {color: red;font-size: 5em; }h1: 选择器 color: 属性 冒号之前是属性&#xff0c;冒号之后是值。 font-size…

Jmeter监控服务器性能

目录 ServerAgent 安装 打开Jmeter ServerAgent 在Jmeter上监控服务器的性能比如CPU&#xff0c;内存等我们需要用到ServerAgent&#xff0c;这里可以下载我分享 ServerAgent-2.2.3.zip 链接: https://pan.baidu.com/s/1oZKsJGnrZx3iyt15DP1IYA?pwdedhs 提取码: edhs 安装…

[云] Project Analysis

项目要求分析&#xff1a; 开放性选题&#xff1a; 主题范围&#xff1a;任何与云计算系统相关的主题。项目类型&#xff1a;可以是技术、商业或研究项目。团队规模&#xff1a;最多可组成三人小组。 示例主题&#xff1a; 分析公共云数据&#xff1a;例如&#xff0c;AWS公共数…

System.Text.Json类库进行json转化时ValueKind:Object问题

当你的使用的Json库是System.Text.Json&#xff0c;而不是Newtonsoft.Json库的时候&#xff0c;你可能遇到以下问题及其解决办法。通常的解决办法是进行一些对应的配置。此外就需要根据情况使用自定义转换器实现你的需求。以下是通常遇到的使用自定义转换器解决的例子: Q1.当遇…

FPGA图像处理之均值滤波

文章目录 一、什么是图像滤波&#xff1f;1.1 噪声类型1.2 滤波类型 二、均值滤波原理2.1 3*3窗口滑动过程2.2 图像扩展 三、Matlab实现均值滤波四、FPGA实现均值滤波4.1 生成 3*3 矩阵4.2 仿真3*3矩阵4.3 计算均值4.4 仿真均值滤波 一、什么是图像滤波&#xff1f; 图像滤波是…

调整Android板子的分辨率

Android板子通过HDMI连接外屏发现很模糊&#xff0c;先用以下命令查询下板子的分辨率&#xff1a; adb shell wm size 发现板子目前的分辨率是&#xff1a; Physical size: 800x480 调整分辨率命令行&#xff1a; adb shell wm size 1920x1080 注意&#xff1a;系统是roo…

得物App3D创新应用引关注,世界设计之都大会启幕

近日&#xff0c;2024世界设计之都大会&#xff08;WDCC&#xff09;在上海盛大启幕。此次大会以“设计无界 新质生长”为主题&#xff0c;汇聚了全球设计领域的精英与前沿成果&#xff0c;展现了设计作为新质生产力的巨大潜力。主场展览占据了整整3个楼面&#xff0c;总面积达…

Python字符串格式化方法format()

字符串.format(变量1, 变量2, ...)使用大括号{}作为占位符,格式化的两种方法&#xff0c;参数序号法和关键字法&#xff0c;即在大括号中填入关键字还是序号&#xff0c;代码举例 # 参数序号法 print("姓名{0}&#xff0c;班级{1}&#xff0c;年龄{2}".format(张三,…

C#学习笔记(十)

C#学习笔记&#xff08;十&#xff09; 第七章 对象的构造方法与实例方法一、对象的构造方法1. 构造方法初识2. 构造方法的创建3. this关键字4. 构造方法的规范和重载4.1 构造方法的规范 5. 对象初始化器5.1 对象初始化器和构造方法的区别 二、对象的实例方法1. 简单应用2.实例…

代码随想录算法训练营第二天(补) | 滑动窗口、模拟、前缀和

目录 3.4 长度最小的子数组 3.5螺旋矩阵II 3.6 区间和 文章讲解&#xff1a;[58. 区间和 | 代码随想录 3.4 长度最小的子数组 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 文章讲解&#xff1a;代码随想录 视频讲解&#xff1a;拿下滑动窗口&#xff…

Linux历史

Linux 于 1991 年由芬兰学生 Linus Torvalds 作为个人项目开始&#xff0c;旨在创建一个新的免费操作系统内核。在其历史发展中&#xff0c;Linux 内核经历了持续的增长。自 1991 年首次发布源代码以来&#xff0c;Linux 内核从少量的 C 语言文件&#xff0c;且受限于禁止商业发…

机器视觉基础系列四—简单了解背景建模算法

机器视觉基础系列四—简单了解背景建模算法 首先我们应该了解的是背景建模的定义是什么&#xff1f;又有哪些应用场景呢&#xff1f; 背景建模是指通过分析视频序列中的像素值变化情况&#xff0c;从中提取出静态背景部分&#xff0c;并将其用于目标检测、运动跟踪等计算机视觉…