作者:腾讯云流计算 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

流计算 Oceanus 限量秒杀专享活动火爆进行中↓↓

Flink 实践教程-入门(8): 简单 ETL 作业的更多相关文章

  1. Flink 实践教程 - 入门(4):读取 MySQL 数据写入到 ES

    ​作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接. ...

  2. Flink 实践教程:入门(1):零基础用户实现简单 Flink 任务

    作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...

  3. Flink 实践教程:入门(6):读取 PG 数据写入 ClickHouse

    作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...

  4. Flink 实践教程-进阶(2):复杂格式数据抽取

    作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...

  5. Flink 实践教程-进阶(5):排序(乱序调整)

    作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...

  6. acegi security实践教程—入门

    Acegi Security概念    Acegi Security是基于J2EE的企业软件应用提供全面的安全服务.通俗的说,就是封装的安全框架.提到安全,大家脑子中第一反应肯定是权限控制.的确如此, ...

  7. Python编程从入门到实践笔记——变量和简单数据类型

    Python编程从入门到实践笔记——变量和简单数据类型 #coding=gbk #变量 message_1 = 'aAa fff' message_2 = 'hart' message_3 = &qu ...

  8. Playmaker全面实践教程之简单的使用Playmaker示例

    Playmaker全面实践教程之简单的使用Playmaker示例 简单的使用Playmaker示例 通过本章前面部分的学习,相信读者已经对Playmaker有了一个整体的认识和印象了.在本章的最后,我 ...

  9. SSIS教程:创建简单的ETL包 -- 2. 添加循环(Adding Looping)

    在第 1 课:创建项目和基本包中,创建了从单个平面文件源中提取数据的包,然后使用查找转换功能对数据进行了转换,最后将数据加载到AdventureWorksDW2012 示例数据库的 FactCurre ...

随机推荐

  1. 8086存储器组织和IO组织 奇偶分体

    8086的存储器组织 存储器的基本存储单位是字节,每个字节用唯一的地址码表示. 若存放的信息是8位的字节数据,将按顺序存放: 若存放的信息是16位的字数据,则将字的高位字节放在高地址中,低位字节放在低 ...

  2. hystrix的配置说明

    在我们的日常开发中,有些时候需要和第三方系统进行对接操作,或者调用其他系统的 api 接口,但是我们不能保证这些第三方系统的接口一定是稳定的,当系统中产生大量的流量来访问这些第三方接口,这些第三方系统 ...

  3. 2021.7.21考试总结[NOIP模拟22]

    终于碾压小熠了乐死了 T1 d 小贪心一波直接出正解,没啥好说的(bushi 好像可以主席树暴力找,但我怎么可能会呢?好像可以堆优化简单找,但我怎么可能想得到呢? 那怎么办?昨天两道单调指针加桶,我直 ...

  4. 字符串与模式匹配算法(六):Needleman–Wunsch算法

    一.Needleman-Wunsch 算法 尼德曼-翁施算法(英语:Needleman-Wunsch Algorithm)是基于生物信息学的知识来匹配蛋白序列或者DNA序列的算法.这是将动态算法应用于 ...

  5. error: unsupported reloc 43

    在Ubuntu 16.04.5 LTS编译android 5.1报错 [19:17:13.062]libnativehelper/JniInvocation.cpp:165: error: unsup ...

  6. QT判断文件/目录是否存在

    最近在用qt写一个ui,遇到删除sd卡中的文件失败情况,有些时候是存在删除链表里面的文件在sd卡上已经不存在了,导致失败,以为我的链表是定时刷新的,但是文件是实时更新会同步覆盖的.这样就存在可能上一秒 ...

  7. 【java设计模式】(10)---模版方法模式(案例解析)

    一.概念 1.概念 模板方法模式是一种基于继承的代码复用技术,它是一种类行为型模式. 它定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的 ...

  8. linux环境下redis安装(redis伪集群搭建)

    redis在linux环境下搭建 1.创建目录 [root@192 local]# mkdir /usr/local/redis 2.下载redis,并解压 [root@192 local]# wge ...

  9. git与pycharm的使用详解(git+gitlab+pycham)

    前言 当自动化框架搭建出来后,需要多个人来使用框架,写自动化用例. 在这个阶段,我们不可能将写好的代码打包发给其他人,这样很麻烦,多人协作一点也不灵活. 这时候,就提现出了git的价值 一.下载安装 ...

  10. 谷歌chrome多个相同用户登陆同一个机器多开配置

    创建快捷方式,目标中填写:路径+参数如下所示即可 参数:--user-data-dir=%LOCALAPPDATA%\Google\Chrome\%SessionName%