静态表oracle迁移greenplum方案
来源:互联网 发布:mac口红持久吗 编辑:程序博客网 时间:2024/06/04 01:04
1、 流程
Sqluldr2:这个是楼方鑫大神开发的一个基于oracle oci的导出工具。需要单独下载。是一个直接可用的可执行文件。这个工具依赖一些oracle的动态链接库,需要在装有oracle环境(装client也行)执行。
https://yq.aliyun.com/articles/210400?utm_content=m_30850
平面文件:就是用文本工具直接可读的文件。比如win下常见的txt格式、csv格式文件。
Gpfdist:这个是greenplum自带的并行文件分发程序,用于支持gp外部表和加载数据(通过gpload)。因为依赖gp自带的一些链接库,需要在装有gp环境执行。这个服务需要单独启动。
http://gpdb.docs.pivotal.io/4330/utility_guide/admin_utilities/gpfdist.html
Gpload:这个是gp自带的加载外部数据入gp的工具,跟oracle的sql*loader功能差不多。这个是封装gpfdist实现的,因此依赖gpfdist服务环境、python2.6.2以上版本。具体可查看以下官方文档。
http://www.cnblogs.com/daojiao/p/4595597.html
http://gpdb.docs.pivotal.io/4330/utility_guide/admin_utilities/gpload.html#topic1
2、 操作步骤
1、 oracle数据库上传Sqluldr2可执行程序。
2、 使用Sqluldr2导出oracle数据(直接执行该命令查看帮助)。
./sqluldr2linux64.bin user=wjf/1@dreamer query="select * from wjf.wjf_001" file=/tmp/123.txt text=text field=0x2c record=0x0a quote='"' charset=utf8
导出后的文本格式如下:
User:指定用户密码和连接库。
Query:指定导出数据
File:指定导出文件名。
Text:指定输出文件格式。Csv第一行为列名展示,text没有,若是csv,导入前把第一样删去。
Field:指定列与列的分隔符。
Record:指定行与行的分隔符。
Quote:指定列的边界。csv默认就是双引号,text默认为空。
Charset:指定目标端的字符集。
ID,VC,TM(text=CSV下才有)
"2","fjie\n\tsfjie","2017-10-19 10:21:09"
"2","fjie\n\tsfjie","2017-10-19 10:21:09"
"c","fjie\n\tsfjie","2017-10-19 10:21:09"
3、 复制导出文件到greenplum服务器。
4、 配置启动gpfdist服务(gpfdist –help查看帮助)。
gpfdist -d /home/gpadmin/wjf_test/ -p 8085 -l /home/gpadmin/wjf_test/gpfdist.log &
-d:指定平面文件存放路径。
-p:指定gpfdist使用的端口号。
-l:指定存放的日志文件。
启动成功后,可通过ps –ef |grep gpfdist,netstat –anp|grep gpfdist查看进程和监听。
5、 Greenplum库新建导入表结构。
6、 配置gpload控制文件,导入数据(直接执行该命令可查看帮助)。
新建一个控制文件my_q.yml(格式可通过帮助获得)。
---
VERSION: 1.0.0.1
DATABASE: wjf
USER: gpadmin
HOST: csdb
PORT: 5432
GPLOAD:
INPUT:
- SOURCE:
LOCAL_HOSTNAME:
- csdb
PORT: 8085
FILE:
- /home/gpadmin/wjf_test/123.txt
- COLUMNS:
- vc: character varying
- id: character varying
- tm: timestamp
- FORMAT: csv
- ERROR_LIMIT: 25000
- LOG_ERRORS: TrueD
- QUOTE: '”'
OUTPUT:
- TABLE: wjf.wjf_001
- MODE: INSERTS
控制文件要注意COLUMNS字段顺序,该字段名与greenplum库表名一致。
该文件为python解析格式,严格区分行前空格。
执行导入命令。
gpload -f my_1.yml -l gpload.log
-f:指定控制文件。
-l:指定认知文件。
3、 相关问题
效率情况说明
特殊字符处理
- 静态表oracle迁移greenplum方案
- Oracle数据迁移到GreenPlum
- 从oracle迁移数据到GreenPlum
- Oracle数据迁移方案
- greenplum一次节点迁移
- greenplum数据迁移记录
- mysql迁移greenplum
- 迁移Oracle数据的两个方案(待续)
- oracle 迁移数据方案(定制数据库模板)
- Informix迁移至Oracle-数据清理方案
- oracle迁移表空间
- Oracle表空间迁移
- Oracle 表空间迁移
- Oracle 表空间迁移
- Oracle 表空间迁移
- Greenplum同步到Oracle
- oracle导入到GreenPlum
- SQL SERVER 向ORACLE 8迁移的技术实现方案
- 程序员怎样鉴定强悍的小团队
- Spring开端
- 生活记录
- elasticsearch索引过程
- jquery 省市联动
- 静态表oracle迁移greenplum方案
- 爬虫从入门 之 关于深度优先和广度优先
- Spring注解
- 回溯法-使用排列树解TSP问题
- 可变参数列表解析
- 排序-简单选择排序
- XGBoost Parameters
- 双向链表-插入元素
- oracle创建用户