Trafodion 使用odb导出表数据到文件

odb是Trafodion提供的一款平台无关的,多线程的,基于ODBC的命令行工具,Trafodion数据库可以使用odb工具做数据的ETL,如数据的导入导出,数据库之间的迁移等等。关于odb的详细介绍,可参考Trafodion官网的odb User Guide,链接http://trafodion.incubator.apache.org/docs/odb/index.html

在前面的文章中,我们介绍了如何安装odb工具,详情请参考博客http://blog.csdn.net/post_yuan/article/details/54631881
odb的安装主要包括以下几个步骤:
1 安装unixODBC
2 安装Trafodion ODBC驱动
3 安装odb(注:Trafodion服务端自带odb工具,路径为$MY_SQROOT/export/bin64)
4 配置odbc连接Trafodion
5 使用odb

这里假设我们已经完成以上步骤,这可以通过以下两条命令检测odb安装成功并可以成功连接指定的Trafodion数据库。

./odb64luo -lsdrv
./odb64luo -u trafodion -p traf1234 -d traf -i

配置成功的示例如下,

[trafodion@cdh1 bin64]cd $MY_SQROOT/export/bin64

[trafodion@cdh1 bin64]$ ./odb64luo -lsdrv
PostgreSQL - Description=ODBC for PostgreSQL
MySQL - Description=ODBC for MySQL
Trafodion - Description=ODBC for Trafodion

[trafodion@cdh1 bin64]$ ./odb64luo -u trafodion -p traf1234 -d traf -i
odb [2017-11-10 16:53:13]: starting ODBC connection(s)... 0
        [odb version 1.1.0]
        Build: linux, amd64, gcc generic m64, uodbc, mreadline, dynamic gzip, dynamic libhdfs, dynamic libxml2 [Sep 23 2017 00:33:36]
        DBMS product name (SQL_DBMS_NAME)            : Trafodion
        DBMS product version (SQL_DBMS_VER)          : 02.02.0003
        Database name (SQL_DATABASE_NAME)            : TRAFODION
        Server name (SQL_SERVER_NAME)                : cdh3($Z020E9C){TCP:172.16.16.202/23402:ODBC}
        Data source name (SQL_DATA_SOURCE_NAME)      : traf
        Data source RO (SQL_DATA_SOURCE_READ_ONLY)   : N
        ODBC Driver name (SQL_DRIVER_NAME)           : libtrafodbc64.so
        ODBC Driver version (SQL_DRIVER_VER)         : 03.00.0000
        ODBC Driver level (SQL_DRIVER_ODBC_VER)      : 03.51
        ODBC Driver Manager version (SQL_DM_VER)     : 03.52.0002.0003
        ODBC Driver Manager level (SQL_ODBC_VER)     : 03.52
        Connection Packet Size (SQL_ATTR_PACKET_SIZE): 0
odb [2017-11-10 16:53:14]: exiting. Session Elapsed time 0.571 seconds (00:00:00.571)

现在我们就可以使用配置好的odb工具来实现我们想要实现的功能了,Trafodion odb的主要命令包括load/extract/copy,具体用法可参考官网介绍,也可参考我的另外一篇博客:http://blog.csdn.net/post_yuan/article/details/52671874

这里我们试验如何导出表为指定的文件,指定的是extract命令,关于odb extract的详细用法,请参考http://trafodion.incubator.apache.org/docs/odb/index.html#_extract_tables
示例命令如下,

./odb64luo -u trafodion -p traf1234 -d traf -e src=TRAFODION.CDH.TEST%:tgt=/home/trafodion/ext_%t.csv.gz:rows=m10:fs=\|:trim:gzip

上述命令的含义表示:导出TRAFODION.CDH.TEST这张表的所有数据,导出文件为gzip,目录在/home/trafodion/下,名称为ext_trafodion.cdh.test.csv.gz,字段的分隔为|,buffer的大小为10MB。
上述命令的输出大致如下,

./odb64luo -u trafodion -p traf1234 -d traf -e src=TRAFODION.CDH.TEST%:tgt=/home/trafodion/ext_%t.csv.gz:rows=m10:fs=\|:trim:gzip
...
[0] 57,045,988 records extracted
[0] odb version 1.1.0 Extract statistics:
        [0] Source: TRAFODION.CDH.TEST
        [0] Target: /home/trafodion/ext_%t.csv.gz
        [0] Record buffer size: 804 bytes
        [0] Rowset size: 13,041
        [0] Rowset buffer size: 10,239.22 KiB
        [0] Pre-extract time: 1.565 s (00:00:01.565)
        [0] Extract time: 582.386 s (00:09:42.386)
        [0] Total records extracted: 57,045,988 (97.952 krec/s)
        [0] Total data bytes written: 915,580,950 (1,535.274 KiB/s)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值