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

来源:互联网 发布:php短信平台源码 编辑:程序博客网 时间:2024/06/06 14:16

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 -lsdrvPostgreSQL - Description=ODBC for PostgreSQLMySQL - Description=ODBC for MySQLTrafodion - Description=ODBC for Trafodion[trafodion@cdh1 bin64]$ ./odb64luo -u trafodion -p traf1234 -d traf -iodb [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): 0odb [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)
原创粉丝点击