oracle 同步数据 greenplum linux kettle

简介: gh 加油 最近公司在做项目时,使用oracle采集底层数据,使用greenplum分析加工数据,数据交换使用的是kettle。
gh 加油

最近公司在做项目时,使用oracle采集底层数据,使用greenplum分析加工数据,数据交换使用的是kettle。

本次方案缺点:kettle必须部署在greenplum的主节点

第一步:在greenplum主机安装kettle

第二步:给gpadmin用户授权kettle安装目录读写

第三步:创建一个测试例子

测试例子分为两步:
第一步将oracle的数据转换为txt
第二步将txt的数据同步到gp,如下图

B5nfzn2jlq+kAAAAAElFTkSuQmCC

点击查看 greenplum load的配置





描述一下load action :

load action:update/insert/merge 有三种类型,就像oracle类似,只需要关注 get fields 的下方match ,update;一个是匹配,一个是update

merge into a using (select * from b) z
on (match)
update
...



YhmBh6PxfWwAAAAASUVORK5CYII=

第二部分 local host name
端口号我选择的是gp的对外端口(可以测试一下其他端口5555,6666)
hostname:我选择是gp主机名
port:5432
hostname:master
lyhtrsQwToPWdlhzv84qqn87r2QcAAACAa7OfnXA

第三部分:gp configuration

一般情况下,gp的安装路径都在/usr/local/greenplum-db/bin/gpload
control file :可以自己先建立一个文件名

[gpadmin@master gpextdata]$ ls
a.csv  b.txt  c.txt  member_delta.dat  my_flag.yml  my_load.yml  my_update.yml  test001.txt  test002.txt  test_distribute.dat
[gpadmin@master gpextdata]$ cat my_flag.yml
[gpadmin@master gpextdata]$

my_flag.yml没有文件内容

data_file:也可以自己建立一个没有内容的空文件

+fs2bt+liGSZUF5SeMj7wOfVQvfzJJwAAAEBf4D5

保存好运行后,数据入库,同时查看 my_flag.yml内容
[gpadmin@master gpextdata]$ ls
a.csv  b.txt  c.txt  member_delta.dat  my_flag.yml  my_load.yml  my_update.yml  test001.txt  test002.txt  test_distribute.dat
[gpadmin@master gpextdata]$ cat my_flag.yml
VERSION: 1.0.0.1
DATABASE: tutorial
USER: user1
HOST: 192.168.1.80
PORT: 5432
GPLOAD:
    INPUT:
    - SOURCE:
        LOCAL_HOSTNAME:
        - master
        PORT: 5432
        FILE: ['/home/admin/gpextdata/c.txt']
    - COLUMNS:
        - id:
        - "name":
    - FORMAT: TEXT
    - DELIMITER: ','
    - QUOTE: ''
    - HEADER: FALSE
    - ENCODING: UTF8
    - ERROR_LIMIT: 50
    OUTPUT:
    - TABLE: "public.test001"
    - MODE: insert

单独这个命令也可以执行

[gpadmin@master gpextdata]gpflod -f my_flag.yml;


备注:在load method的下方 Erase cfg/data files after use 的对勾取消掉



不知道大家有没有方案可以不在本机执行?

远程方案自己已经做完,链接: http://blog.itpub.net/29162273/viewspace-2130770/

其实就是在远程机器中安装greenplum-loader后
配置相关变量,就可以使用了。


目录
相关文章
|
24天前
|
SQL 运维 Oracle
【迁移秘籍揭晓】ADB如何助你一臂之力,轻松玩转Oracle至ADB的数据大转移?
【8月更文挑战第27天】ADB(Autonomous Database)是由甲骨文公司推出的自动化的数据库服务,它极大简化了数据库的运维工作。在从传统Oracle数据库升级至ADB的过程中,数据迁移至关重要。
36 0
|
1月前
|
数据采集 Oracle 关系型数据库
实时计算 Flink版产品使用问题之怎么实现从Oracle数据库读取多个表并将数据写入到Iceberg表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
26天前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
30天前
|
Linux
Linux 系列之 在一个文本中查找指定的数据
文章介绍了在Linux命令行中使用文本搜索功能快速查找指定内容的方法,并提供了按`n`键查找下一个匹配项的技巧。
Linux 系列之 在一个文本中查找指定的数据
|
21天前
|
Linux 开发工具
linux下使用gcp拷贝数据的时候显示进度条
linux下使用gcp拷贝数据的时候显示进度条
14 2
|
28天前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
28天前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
1月前
|
存储 监控 安全
Linux存储安全:保护你的数据免受威胁
【8月更文挑战第18天】在数字化时代,数据安全至关重要。Linux以稳定与安全著称,但仍需强化存储保护。本文概览Linux存储安全,涵盖物理安全、文件系统选择、数据加密技术如LUKS与eCryptfs、精细访问控制及审计监控等最佳实践,辅以定期更新、网络隔离、安全协议运用、备份及用户培训,全方位守护数据安全。通过这些措施,可有效防御未授权访问与数据损失,确保信息资产安全无忧。
38 1
|
27天前
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
20 0
|
27天前
|
SQL Oracle 关系型数据库
Oracle误删数据怎么恢复?
Oracle误删数据怎么恢复?
29 0