有没有办法将数据从s3导入到mssql

时间:2014-08-08 06:56:06

标签: sql-server hadoop amazon-s3 amazon-emr

我在amazon EMR上运行了hadoop集群,它处理了一些数据并将输出写入s3。现在,我想在mssql中导入该数据。那有没有开源连接器?或者我必须手动下载数据,更改默认分隔符' \ 001'到','然后导入mssql中的数据。

3 个答案:

答案 0 :(得分:0)

没有直接的方式。

在map reduce中使用下面的config来编写输出,作为分隔符

job.getConfiguration()。set(“mapreduce.textoutputformat.separator”,“,”);

最好的方法是将处理过的数据保存在s3中。你可以CSV到s3。编写一个php / java / shell从s3下载数据并将其加载到mssql。

您可以使用s3download目录下载已处理的数据,然后使用批量插入将csv文件加载到mssql。

答案 1 :(得分:0)

您可以将Apache Sqoop用于此用例 Apache Sqoop支持从mssql导入和导出。

以下文章介绍了如何在EMR中安装Sqoop http://blog.kylemulka.com/2012/04/how-to-install-sqoop-on-amazon-elastic-map-reduce-emr/

请参阅Sqoop用户指南。 http://sqoop.apache.org/docs/1.4.3/SqoopUserGuide.html

答案 2 :(得分:0)

您可以使用第三方ETL工具来自动执行将CSV数据从S3加载到MSSQL的过程,而无需进行编码。他们可以大大节省您在此任务上的时间。 SkyviaJitterBit之类的工具可以为您提供帮助。