Flink 实践教程-入门(8): 简单 ETL 作业
作者:腾讯云流计算 Oceanus 团队
流计算 Oceanus 简介
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点的企业级实时大数据分析平台。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
本示例使用流计算 Oceanus 平台的 ETL 功能,将 PostgreSQL 数据取出,经过时间转换函数处理后存入 PostgreSQL 中。用户无需编写 SQL 代码,只用在界面上进行简单的点击操作即可创建流计算 Oceanus ETL 作业。
前置准备
创建流计算 Oceanus 集群
进入流计算 Oceanus 控制台 [1],点击左侧【集群管理】,点击左上方【创建集群】,具体可参考流计算 Oceanus 官方文档 创建独享集群 [2]。
创建 PostgreSQL 实例
进入 PostgreSQL 控制台 [3],点击左上角【新建】创建实例,具体参考 创建 PostgreSQL 实例 [4]。进入实例数据库,创建表。
-- 用于 Source
CREATE TABLE public.oceanus8_output (
id INT,
time_one TIMESTAMP,
PRIMARY KEY(id)
); -- 手动插入数据
INSERT INTO public.oceanus8_output VALUES (1,'2020-10-01 18:00:00');
INSERT INTO public.oceanus8_output VALUES (2,'2021-10-01 18:30:24'); -- 用于 Sink
CREATE TABLE public.oceanus8_input (
id INT,
transf_one VARCHAR(50),
transf_two TIMESTAMP,
const_four INT,
PRIMARY KEY(id)
);
笔者这里使用 DBeaver 进行外网连接,更多连接方式参考官网文档 连接 PostgreSQL 实例 [5]
流计算 Oceanus 作业
进入流计算 Oceanus 控制台 [1],点击左上角【新建】创建 ETL 作业,点击【开发调试】进入作业编辑页面。ETL 作业源端可以是 MySQL、PostgreSQL,目的端可以是 MySQL、PostgreSQL、ClickHouse 和 Elasticsearch。
1. 创建 Source
单击【数据源表】右侧【添加】按钮,选择 PostgreSQL ,选择并填写数据库表相关的信息。
2. 创建 Sink
单击【数据目的表】右侧【添加】按钮,选择 PostgreSQL ,选择并填写数据库表相关的信息。
3. 映射字段
编写需要创建映射字段的业务逻辑。这里使用 DATA_FORMAT 函数将 time_one 字段类型由 TIMESTAMP 映射为 STRING,使用 TIMESTAMPADD 函数将 time_one 字段增加一周,并将常量 1000 存入 const_str 字段。

ETL 作业开发详见流计算 Oceanus 官方文档 ETL 开发指南 [6]。
添加数据源表和目的表后,可配置字段映射。字段映射分为原字段映射和新增字段映射两个部分。
原字段映射
在左侧的数据源表中可以勾选本次 ETL 作业需要从数据源表抽取的数据字段,并在右侧选择要加载进目的表的对应的映射字段名称。这样在数据源表中的数据就会复制加载到目的表中。
新增字段映射
字段生成方式有计算字段和常量字段两种。
计算字段可以对从数据源表抽取出来的字段数据进行 内置函数 数值转换或者计算。
常量字段可以输入一个自定义常量字段到目的源表相应的字段中。
字段取值
计算字段:字段取值可以输入字段值或者表达式,对每个满足的输入源数据进行表达式计算。将计算结果返回到数据目的表所选的映射字段中。
常量字段:字段取值可以输入字符串或者数字(输入类型与目的表类型要一致),这个常量字段取值将会加载到每一条数据目的表所选的映射字段中。
总结
流计算 Oceanus ETL 作业最简化了用户操作,开发人员甚至无需了解编程语言,只需要选择数据源表和目的表,并根据业务逻辑完成字段映射的配置,花费几分钟即可轻松启动 ETL 作业。
计算字段:可以对从数据源表抽取出来的字段数据进行 内置函数 [7] 数值转换或者计算。
常量字段:可以输入一个自定义常量字段到目的源表相应的字段中。
参考链接
[1] 流计算 Oceanus 控制台:https://console.cloud.tencent.com/oceanus/overview
[2] 创建独享集群:https://cloud.tencent.com/document/product/849/48298
[3] PostgreSQL 控制台:https://console.cloud.tencent.com/postgres/index
[4] 创建 PostgreSQL 实例:https://cloud.tencent.com/document/product/409/56961
[5] 连接 PostgreSQL 实例:https://cloud.tencent.com/document/product/409/40429
[6] ETL 开发指南:https://cloud.tencent.com/document/product/849/59839
[7] 内置函数:https://cloud.tencent.com/document/product/849/18083

Flink 实践教程-入门(8): 简单 ETL 作业的更多相关文章
- Flink 实践教程 - 入门(4):读取 MySQL 数据写入到 ES
作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接. ...
- Flink 实践教程:入门(1):零基础用户实现简单 Flink 任务
作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...
- Flink 实践教程:入门(6):读取 PG 数据写入 ClickHouse
作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...
- Flink 实践教程-进阶(2):复杂格式数据抽取
作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...
- Flink 实践教程-进阶(5):排序(乱序调整)
作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...
- acegi security实践教程—入门
Acegi Security概念 Acegi Security是基于J2EE的企业软件应用提供全面的安全服务.通俗的说,就是封装的安全框架.提到安全,大家脑子中第一反应肯定是权限控制.的确如此, ...
- Python编程从入门到实践笔记——变量和简单数据类型
Python编程从入门到实践笔记——变量和简单数据类型 #coding=gbk #变量 message_1 = 'aAa fff' message_2 = 'hart' message_3 = &qu ...
- Playmaker全面实践教程之简单的使用Playmaker示例
Playmaker全面实践教程之简单的使用Playmaker示例 简单的使用Playmaker示例 通过本章前面部分的学习,相信读者已经对Playmaker有了一个整体的认识和印象了.在本章的最后,我 ...
- SSIS教程:创建简单的ETL包 -- 2. 添加循环(Adding Looping)
在第 1 课:创建项目和基本包中,创建了从单个平面文件源中提取数据的包,然后使用查找转换功能对数据进行了转换,最后将数据加载到AdventureWorksDW2012 示例数据库的 FactCurre ...
随机推荐
- 试题 算法训练 区间k大数查询 java题解
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正 ...
- 对epoll机制的学习理解v1
epoll机制 wrk用非阻塞多路复用IO技术创造出大量的连接,从而达到很好的压力测试效果.epoll就是实现IO多路复用的关键. 本节是对epoll的本质的学习总结,进一步的参考资料为: <深 ...
- 原生js-无缝滚动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Manjaro / ArchLinux 安装网易云音乐解决搜索不能输入中文方法
0. 安装网易云音乐 yay -S netease-cloud-music 1.先安装qcef这个软件包. sudo yay -S qcef 2.编辑/opt/netease/netease-clou ...
- Stack2 攻防世界题目分析
---XCTF 4th-QCTF-2018 前言,怎么说呢,这题目还是把我折磨的可以的,我一开始是没有看到后面的直接狙击的,只能说呢. 我的不经意间的粗心,破坏了你许多的温柔 1.气的我直接检查保护: ...
- Noip模拟17 2021.7.16
我愿称这场考试为STL专练 T1 世界线 巧妙使用$bitset$当作vis数组使用,内存不会炸,操作还方便,的确是极好的. 但是这个题如果不开一半的$bitset$是会炸内存的,因为他能开得很大,但 ...
- 镜头Lens Image circle像圈的解释是什么意思
Image circle镜头中指的是:像圈 像圈(image circle)是指入射光线通过镜头后,在焦平面上呈现出的圆形的明亮清晰的影像幅面,也称像面大小.镜头像圈由镜头光学结构决定,一旦设计完成, ...
- Spring:所有依赖项注入的类型
一.前言 Spring文档严格只定义了两种类型的注入:构造函数注入和setter注入.但是,还有更多的方式来注入依赖项,例如字段注入,查找方法注入.下面主要是讲使用Spring框架时可能发生的类型. ...
- 最短路径算法:弗洛伊德(Floyd-Warshall)算法
一.算法介绍 Floyd-Warshall算法(英语:Floyd-Warshall algorithm),中文亦称弗洛伊德算法,是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权(但不可存 ...
- tarjan知识点梳理
tarjan在图论中还是挺重要的.这里就简要的梳理一下tarjan的知识点. tarjan算法与无向图连通性. 首先说一下图中割点和桥的定义. 桥:也称割边,定义类似,在无向图中,若去掉某条边,导致整 ...