2012-04-11 126 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