2015-05-28 24 views
5

Tôi đang cố gắng tải tệp xuất DynamoDb được lấy từ Amazon Dynamodb Web Console bằng công cụ "Xuất/Nhập" vào Hive. Nhưng tôi không thể ánh xạ các trường đúng cách vì công cụ "Xuất" của DynamoDB Web Console đang sử dụng "ETX" "STX".

Dưới đây là một ví dụ hàng kết thúc với [LF]Làm thế nào để ánh xạ các trường trong Hive cho xuất 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] 

gì nên là truy vấn cho điều này?

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

CẬP NHẬT

Tôi đã cập nhật truy vấn nhưng nó đã không làm việc một lần nữa.

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

Kết quả cho truy vấn:

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

Vì vậy, bây giờ như thế nào tôi có thể phân tích dữ liệu này? Tôi cần phải ánh xạ các trường. Tôi có nên sử dụng SerDe tùy chỉnh không?

+0

Đây là định dạng mà tôi đang cố gắng để lập bản đồ các lĩnh vực của mình trong tổ ong: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/ dp-importexport-ddb-pipelinejson-verifydata2.html Nó có thể được thực hiện với một SerDe tùy chỉnh không? –

Trả lời

Các vấn đề liên quan