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