2013-01-11 26 views
0

我想导出数据格式HDFS到Couchbase,并且我的文件格式有问题。Sqoop HDFS到Couchbase:json文件格式

我的配置:

  • Couchbase服务器2.0
  • 堆栈的hadoop cdh4.1.2
  • sqoop 1.4.2(与hadoop2.0.0编译)
  • couchbase/hadoop的连接器(编译hadoop2。 0.0)

当我运行导出命令,我可以很容易地导出这种格式的文件:

id,"value" 

id,42 

id,{"key":"value"} 

但是,当我想申请一个JSON对象这是行不通的!

id,{"key1":"value1,"key2":"value2"} 

内容在由couchbase第一个逗号和diplay用base64截断,因为现在的内容是不正确的JSON ...

所以,我的问题是,该文件必须如何格式化是存储为json文档?

我们只能导出一个键/值文件吗?

我要出口JSON文件形成像cbdocloader从本地文件系统的文件做HDFS ...

回答

0

恐怕这个预期的行为,因为Sqoop是解析输入文件为CSV与逗号作为分隔符。你可能需要调整你的文件格式来转义分隔符或包含整个JSON字符串。我会推荐阅读Sqoop在用户指南[1]中处理转义分隔符和封装字符串的方式。

链接:

http://sqoop.apache.org/docs/1.4.2/SqoopUserGuide.html#id387098

0

@mpiffaretti你能发布你的sqoop导出命令吗?我认为每个JSON对象都应该有自己的键值。 key1 {"dataOne":"ValueOne"} key2 {"dataTwo":"ValueTwo"} http://ajanacs.weebly.com/blog 在你的情况改变datea像下面可以帮你解决这个问题。

id,{"key":"value"} 
id2,{"key2":"value2"} 

让我知道,如果你有进一步的问题。 [json] [sqoopexport] [couchbase]

相关问题