2015-05-28 40 views
5

Amazon Dynamodb Web Console'dan alınan "Import/Export" aracıyla DiveamoDb dışa aktarma dosyasını Hive içine yüklemeye çalışıyorum. Ancak alanları doğru şekilde eşleyemedim çünkü DynamoDB Web Console "Export" aracı "ETX" "STX" kullanıyor.
Aşağıda
bir örnek satır bunun için [LF]DynamoDb Amazon Console dışa aktarma için Hive'daki alanlar nasıl eşlenir?

Elapsed[ETX]{"n":"1477"}[STX]Device[ETX]{"n":"3"}[STX]Date[ETX]{"s":"2014-03-05T12:13:00.852Z"}[STX]Duration[ETX]{"n":"8075"}[LF] 

Ne olmalıdır sorgu ile sona erer?

CREATE EXTERNAL TABLE IF NOT EXISTS TableNameHere (creationDate string, device bigint, duration bigint, elapsed bigint) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ???This is where i got stuck??? 
LOCATION 's3://abcdefg/ino/2015-05-28_12.22'; 

GÜNCELLEME

Ben sorguyu güncelledik ama yine işe yaramadı. Sorgu için LF

CREATE EXTERNAL TABLE IF NOT EXISTS TableNameHere (creationDate string, device bigint, duration bigint, elapsed bigint) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\002' 
        LINES TERMINATED BY '\012' 
LOCATION 's3://abcdefg/ino/2015-05-28_12.22'; 

Sonucu için '\ 012' STX
için '\ 002'

:

Elapsed{"n":"0"} Device{"n":"3"} Duration{"n":"1073876"} Date{"s":"2014-01-27T00:52:25.491Z"}  

Yani, şimdi nasıl ben bu verileri ayrıştırmak? Alanları haritalamam gerek. Özel bir SerDe kullanmalı mıyım?

+0

Bu şimdiye kovanında kendi alanlarını eşlemek çalışıyorum biçimidir: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/ dp-importexport-ddb-pipelinejson-veridata2.html Özel bir SerDe ile yapılabilir mi? –

cevap