2012-04-11 67 views
3

地圖我在亞馬遜dynamoDB表一中記錄結構像如何動態dynamoDB列EMR蜂巢

{"username" : "joe bloggs" , "products" : ["1","2"] , "expires1" : "01/01/2013" , "expires2" : "01/02/2013"} 

在產品屬性是屬於用戶的產品清單和到期ñ屬性與列表中的產品相關,產品列表是動態的,並且有很多。我需要的格式此數據傳輸到S3像

joe bloggs|1|01/01/2013 
joe bloggs|2|01/02/2013 

使用蜂巢外部表,我可以映射dynamoDB的用戶名和產品列,不過我無法動態列映射。有沒有一種方法可以擴展或調整org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler,以便在配置它之前解釋和構建從dynamo檢索的數據?或者有沒有其他解決方案將發電機數據轉換爲第一範式?

我的關鍵要求之一是我維護dynamodb.throughput.read.percent設置提供的節流,以便我不妥協操作使用該表。

+1

您還應該在官方DynamoDB論壇(https://forums.aws.amazon.com/forum.jspa?forumID=131)上發佈此信息。亞馬遜員工迴應那裏的大部分帖子。 – 2012-04-11 22:21:08

+0

@pw完成https://forums.aws.amazon.com/thread.jspa?threadID=91847 – stjohnroe 2012-04-12 10:28:03

+0

嗨@stjohnroe,你有沒有解決辦法呢?我正在關注這個問題。如果您找到任何解決方案,請讓我知道。 – 2017-12-07 09:13:34

回答

1

您可以爲該情況構建特定的UDTF(用戶定義的表生成函數)。 我不確定Hive如何處理星號(可能對您的情況)作爲函數的參數。

類似於Explodesource)所做的一樣。

+0

不幸的是,DynamoDB SerDe不允許我獲取底層json表示,並且不支持列名稱的wilcarding。 – stjohnroe 2012-04-17 10:03:43