2015-05-28 40 views
5

Próbuję załadować plik eksportu DynamoDb, który jest pobierany z Amazon Dynamodb Web Console za pomocą narzędzia "Import/Export" do Hive. Ale nie mogłem poprawnie odwzorować pól, ponieważ narzędzie DynamoDB Web Console "Eksportuj" używa "ETX" "STX".

Poniżej znajduje się przykład wiersz zakończony [LF]Jak mapować pola w Hive dla eksportu DynamoDb Amazon Console?

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] 

co powinno być dla tego zapytania?

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'; 

UPDATE

I zostały zaktualizowane zapytanie, ale to nie działa ponownie.

'\ 002' dla STX
'\ 012' dla 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'; 

wynik dla zapytania:

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

Więc teraz, w jaki sposób można analizować te dane? Muszę mapować pola. Czy powinienem używać niestandardowego SerDe?

+0

Jest to format, który próbuję mapować swoje pola w ulu: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/ dp-importexport-ddb-pipelinejson-verifyydata2.html Czy można to zrobić za pomocą niestandardowego SerDe? –

Odpowiedz