2013-01-11 34 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]

相關問題