2015-12-29 30 views
1

我需要从sybase(生产数据库)加载数据到HDFS。通过使用sqoop,它需要很长时间并频繁地访问生产数据库。所以,我正在考虑从sybase dump创建数据文件,然后将数据文件复制到hdfs。是否有任何工具(开源)可用于从sybase转储创建所需的数据文件(平面文件)。从sybase数据库批量加载到HDFS

感谢,

回答

1

iq_bcp命令行实用程序是专门做这在每个表的基础。你只需要生成一个表的列表,你可以遍历列表。

iq_bcp [[database_name。 ]所有者。 ] table_name {in |出}数据文件

iq_bcp MyDB..MyTable out MyTable.csv -c -t#$# 

-c指定一个字符(明文)输出 -t允许您自定义列分隔符。您需要使用一个字符或一系列字符,这些字符不会出现在您的extact例如如果您的文本列中包含逗号文本,则无需额外工作即可导入csv。

Sybase IQ: iq_bcp

+0

非常感谢迈克尔。是否有可能直接将此工具(通过命令)应用到sybase转储,而不会触及生产数据库。 – user1321939

+0

不需要。它必须在正在运行的服务器上运行。您的替代方案是将转储恢复到备份服务器,并从那里运行提取。 –