Flink Table API SQL编程指南(自定义Sources Sinks)
TableSource
TableSource提供对存储在外部系统(数据库,键值存储,消息队列)或文件中的数据的访问的通用接口。在TableEnvironment中注册TableSource后,可以通过Table API或SQL查询对其进行访问。它提供了表的schema 以及与该表的schema 映射到行的记录。
TableSource[T] {def getTableSchema: TableSchemadef getReturnType: TypeInformation[T]def explainSource: String
}
- getTableSchema() - 返回产生的表的Schema,即表的字段的名称和类型。字段类型是使用Flink的DataType定义的。
- getReturnType()- 返回DataStream(StreamTableSource)或DataSet(BatchTableSource)的物理类型以及TableSource生成的记录。
- explainSource() - 返回描述TableSource的字符串。此方法是可选的,仅用于显示目的。
TableSource接口将逻辑表Schema与返回的DataStream或DataSet的物理类型分开。因此,表Schema的所有字段(getTableSchema())必须映射到具有相应物理返回类型(getReturnType())类型的字段。默认情况下,此映射是基于字段名称完成的。例如,一个TableSource用两个字段[name:String,
Flink Table API SQL编程指南(自定义Sources Sinks)相关推荐
- (十八)Flink Table API SQL 编程指南 Table API 和Datastream API 集成
文章目录 DataStream 和 Table 之间的转换 依赖项和导入 配置 执行行为 datastream API table API 批处理运行时模式 Changelog统一 处理(仅插入)流 ...
- duration转为时间戳_Flink Table APIamp;SQL编程指南之时间属性(3)
Flink总共有三种时间语义:Processing time(处理时间).Event time(事件时间)以及Ingestion time(摄入时间).关于这些时间语义的具体解释,可以参考另一篇文章F ...
- Flink Table Api SQL 初体验,Blink的使用
概述 Flink具有Table API和SQL-用于统一流和批处理. Table API是用于Scala和Java的语言集成查询API,它允许以非常直观的方式组合来自关系运算符(例如选择,过滤和联接) ...
- 2021年大数据Flink(三十):Flink Table API SQL 介绍
目录 Table API & SQL 介绍 为什么需要Table API & SQL Table API& SQL发展历程 架构升级 查询处理器的选 ...
- Flink Table和SQL的基本API
文章目录 一个示例 程序架构 创建表环境 创建表 1.连接器 2.虚拟表 表的查询 1.执行SQL查询 2.调用Table API进行查询 3.两种API的结合使用 输出表 表和流的转换 1.将表转换 ...
- Flink Table API和SQL(下)
传送门: Flink Table API和SQL(上)(基本API介绍+流处理表的特性) Flink Table API和SQL(中)(时间属性及窗口+聚合查询+联结查询) Flink Table A ...
- flink Table API 与SQL入门实战
流处理和批处理都可以用,是非常的方便! 导入依赖 <dependency><groupId>org.apache.flink</groupId><artifa ...
- 1.18.Table API SQL(概念、依赖图、Table程序依赖、扩展依赖)
1.18.Table API & SQL 1.18.1.概念 1.18.1.1.依赖图 1.18.1.2.Table程序依赖 1.18.1.3.扩展依赖 1.18.Table API & ...
- Flink教程(16)- Flink Table与SQL
文章目录 01 引言 02 Table API & SQL 介绍 2.1 Flink Table模块 2.2 Table API & SQL特点 2.3 Table API& ...
最新文章
- MyBatis架构设计及源代码分析系列(一):MyBatis架构
- C++中的friend详细解析
- jQuery工具方法
- SpringBoot是什么?可以做什么?
- OpenStack Heat服务介绍 (三)
- leetcode 561. 数组拆分 I(排序)
- Linux Shell脚本_设置时区并同步时间
- 计算机教学改革主要内容,计算机教学改革主要内容和措施.doc
- 改写反话技巧_2021考研唐迟阅读技巧总结
- MapGIS10.3新功能
- 【软件测试系列十二】《压力测试报告模板》
- maven项目配置私服
- PM2.5的加重,和建筑工地关系大不大?(附扬尘治理方案)
- 计算机开机主机不停地重启,求救:电脑一直重启,开机自检后,一会就重启
- Python爬虫进阶之某支付网站密码分析
- 2021年初级会计实物会计概述考试真题
- 【51单片机】矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤
- pytorch转换onnx,再转换caffe 测试caffe, pytorch 模型结果是否一致
- java套打实现_java 套打 实现
- C练题笔记之:Leetcode-780. 到达终点
热门文章
- Mac虚拟机安装win7攻略 必须点赞
- 几个小游戏(用win-tc可以编译)
- ggrepel-解决散点图样品标签重叠,方便筛选样品
- 一键导出所有PPT/PPTX文件的全部文本(Powershell)
- linux系统 设置分屏,Linux桌面的4种可以分屏的终端
- Mac下的Android Studio快捷键
- 最优化问题学习笔记1-对偶理论
- 提示“Your session has expired. Please log in.” 解决办法
- 3dsmaxC4DbodypainterPS画贴图六、C4Dbodypainter软件的初步认识和使用。在PS软件修改UV贴图。
- Tumblr:150亿月浏览量背后的架构挑战