将在线数据加载到阿里云Greenplum

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 本文说明如何设计一个 ETL 作业以便将在线关系数据库里的数据,加载到阿里云的Greenplum 数据库中,如何调度和监控该ETL 作业的日常运行。 本文使用的软件是开源ETL 工具软件 Kettle 5.x,以及基于Kettle的傲飞数据整合平台,该平台可以用来Kettle作业的调度、监控等

本文说明如何设计一个 ETL 作业以便将在线关系数据库里的数据,加载到阿里云的Greenplum 数据库中,如何调度和监控该ETL 作业的日常运行。

本文使用的软件是开源ETL 工具软件 Kettle 5.x,以及基于Kettle的傲飞数据整合平台,该平台可以用来Kettle作业的调度、监控等功能、并可以完成数据源管理等功能。

软件下载安装

1.   Java 1.6 或 1.7

2.   傲飞数据整合平台的下载地址(包含了 Kettle和服务端):http://pan.baidu.com/s/1cmSPEe

解压缩即可安装,平台的安装配置方法见下载文档内的《傲飞数据整合平台使用说明书》

3.   安装 Mysql 数据库 5.1 或以上版本,并以 UTF-8 编码新建一个数据库 etl_platform,

上述软件都要事先安装部署到阿里 ECS 上。


ETL 作业配置

服务端配置

资源库配置

资源库是Kettle 里保存作业的数据库。首先登陆傲飞数据整合平台(默认用户名,密码 admin/admin),在傲飞数据整合平台的【资源库管理】里,新创建一个资源库,资源库的数据库名称使用事先创建的 etl_platform 数据库,注意数据库地址要用外网的ip地址,因为将来kettle 客户端会连接该ip 地址。

6b198613e5a5d764fab796eaf7cfdb749c7b3e1b

数据库配置

选择主窗口左侧菜单的【数据源管理】里的【本地数据库管理】,或者直接在登陆首页中选择【本地数据库】快捷图标。如下图:

a06aa77968804a525de45ba60c130cff3d9783b3 

 

 

选择【新增】,在【新增数据源信息】窗口中设置两个数据源,一个是原数据源,另一个是要加载到的阿里云Greenplum 数据源,数据源配置参考如下图所示:

2b4c32394eca8db032eeb5b54b62a23d9c1d8151 

 

 

7e7af4d06e1f9fec658ae08ee8f46a01d4fbd3ff 

 

 

 

 

 

客户端设置

登陆

双击spoon.bat 文件,启动spoon,在登陆窗口中输入傲飞数据整合平台的URL ,用户名和密码,如下图:

ca796e749ad663720da68a5ba299d2f89ba85c40 

选择资源库

如果登陆成功,会出现【资源库连接】选择框,这里选择我们刚创建的资源库,如下图:

a7e55bf502ac61e9f1bb9facb24911c76b40cd37 

设计转换

进入资源库后,在设计窗口中选择【文件】->【新建】->【转换】,如下图:

87250a5aa067fd7650322effc15895930de408d0 

SQL 方式加载

如果要使用SQL 方式加载,要拖拽【表输入】步骤和【表输出】步骤到画布上,并连线(按住Shift键,同时移动鼠标),在表输入步骤中配置SQL 语句,在表输出步骤中配置输出表的名称即可,如下图:

90fd993f642a1ed7190552695219fbeab7aadab5 

fc7f66280aa5a7e82d21f3c1a8fcd7cf15045bc1 

如果需要在输入和输出之间做各种数据格式转换,数据清洗,拆分,组合等各种操作,要使用Spoon 设计器里提供的各种步骤(连数成金论坛有 Kettle 培训课程)

 

使用Copy 方式加载

当大量数据时,可以使用 Greenplum 批量加载】步骤完成加载,Greenplum 批量加载使用了Copy 命令方式加载,加载速度比SQL 方式快。【Greenplum 批量加载】步骤的配置如下图所示:

bb793fd6feb89e158b5fe96344b3f7f59162bb31 

 

 

使用OSS 方式加载

OSS 阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。目前Kettle 对OSS的支持还在开发中。  不过目前用户也可以手动将文件上传到 OSS 服务中,使用类似下面的SQL 创建一个基于OSS的外部表。

1. create READABLE external table ossexample

2. (date text, time text, open float, high float,

3. low float, volume int) 

4. location('oss://oss-cn-hangzhou.aliyuncs.com

5. filepath=osstest/example.csv id=XXX

6. key=XXX bucket=testbucket') FORMAT 'csv'

7. LOG ERRORS SEGMENT REJECT LIMIT 5;

 

关于OSS 的加载,请参考:https://help.aliyun.com/document_detail/35457.html

 

 

保存转换:

选择【文件】->【另存为】 ,在【转换属性】窗口中,设置转换名称:从原系统到目标系统的转换,在【目录】输入框选择要保存的资源库目录,如下图

3d34a20b093f9696bf6ed9169082221b9bb88ad1 

点【确定】后,把作业保存到资源库中。

005c46d6b630a00067015a4e9512e1c3faa7a43f 

注意:

如果客户端长时间不操作,服务端会自动断开和客户端的连接。 此时从客户端保存到服务端时可能报告数据库连接错误。如果发生此类错误,只需先资源库连接,再重新连接资源库即可。

调度

在【周期调度】里选择【增加普通调度】选项,在【新增调度】窗口里选择作业“从原系统到目标系统的转换”,如下图:

a7e2a4f179166ff6a7fc4b7ec89f8213c7bd6e0d 

 

选择运行方式【本地运行】,并设置调度方式为每天的16:00 运行,如下图:

0fb1b36ef24915221baafae3665b04ee68f77c04 

运行

新增加的调度可以按照设置好的调度方式运行,也可以通过点击【运行】按钮,手动运行,如下图:

8bfa6242a68e55275976526beec69d487e72a21b 

 

 

监控

94ee218bc15e5053e68954c2ede48419c3995a45 

无论手工还是调度运行,在监控列表里都会有作业的运行状态,运行时间,错误日志等信息。

 

待续

关于如何将企业内网数据库里的数据,加载到阿里云的greenplum 中,下文继续。

 

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
1月前
|
存储 弹性计算 数据可视化
使用PolarDB-X与Flink搭建实时数据大屏
使用PolarDB-X与Flink搭建实时数据大屏
|
7月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL HTAP:实时数据分析加速
本场景带您体验PolarDB MySQL的HTAP特性之列存索引(IMCI)。
463 0
|
4月前
|
SQL BI Apache
奇富科技基于阿里云数据库 SelectDB 版内核 Apache Doris 的统一 OLAP 场景探索实践
Apache Doris 作为整体 OLAP 场景,助力奇富科技信贷科技服务平台优化,使得报表分析场景 SLA 达标率提升至 99% 以上,平均查询耗时降低 50%,为营销活动、广告投放等提供强有力的数据支持。
奇富科技基于阿里云数据库 SelectDB 版内核 Apache Doris 的统一 OLAP 场景探索实践
|
7月前
|
SQL 分布式计算 测试技术
从 Clickhouse 到阿里云数据库 SelectDB 版内核 Apache Doris:有赞业务场景下性能测试与迁移验证
从 Clickhouse 到阿里云数据库 SelectDB 版内核 Apache Doris 迁移实践:有赞查询提速近 10 倍,OLAP 分析更实时高效!
从 Clickhouse 到阿里云数据库 SelectDB 版内核 Apache Doris:有赞业务场景下性能测试与迁移验证
|
SQL 数据可视化 关系型数据库
实践教程之使用PolarDB-X与Flink搭建实时数据大屏
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。 本期实验将指导您使用 PolarDB-X 与Flink搭建实时数据大屏。
实践教程之使用PolarDB-X与Flink搭建实时数据大屏
|
弹性计算 数据可视化 JavaScript
用 PolarDB - X + Flink 搭建实时数据大屏|学习笔记(一)
快速学习用 PolarDB - X + Flink 搭建实时数据大屏
228 0
用 PolarDB - X + Flink 搭建实时数据大屏|学习笔记(一)
|
数据可视化 前端开发 关系型数据库
用 PolarDB - X + Flink 搭建实时数据大屏|学习笔记(二)
快速学习用 PolarDB - X + Flink 搭建实时数据大屏
406 0
用 PolarDB - X + Flink 搭建实时数据大屏|学习笔记(二)
|
前端开发 数据可视化 关系型数据库
用 PolarDB - X + Flink 搭建实时数据大屏|学习笔记(三)
快速学习用 PolarDB - X + Flink 搭建实时数据大屏
344 0
用 PolarDB - X + Flink 搭建实时数据大屏|学习笔记(三)
|
SQL 弹性计算 关系型数据库
实验报告: PolarDB MySQL HTAP:实时数据分析加速
实验过程中忽略了在PolarDB mysql集群设置时开启行存/列存自动引流功能,发现开启这个功能后,如果会话use_imci_engine变量设置为off,单表分析的查询要慢不少。
495 0
实验报告: PolarDB MySQL HTAP:实时数据分析加速
|
存储 数据可视化 Cloud Native
体验PolarDB-X与Flink搭建实时数据大屏
体验PolarDB-X与Flink搭建实时数据大屏
629 0
体验PolarDB-X与Flink搭建实时数据大屏