3

我在 Amazon dynamoDB 中有一个表,其记录结构如下

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

其中 products 属性是属于用户的产品列表,并且 expires n属性与列表中的产品相关,产品列表是动态的并且有很多。我需要以类似的格式将此数据传输到 S3

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

使用 hive 外部表,我可以映射 dynamoDB 中的用户名和产品列,但是我无法映射动态列。有没有一种方法可以扩展或调整 org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler 以便在 hive 摄取之前解释和构造从 dynamo 检索到的数据?或者是否有替代解决方案将发电机数据转换为第一范式?

我的一个关键要求是我保持 dynamodb.throughput.read.percent 设置提供的限制,这样我就不会影响表的操作使用。

4

1 回答 1

1

您可以为这种情况构建特定的 UDTF(用户定义的表生成函数)。我不确定 Hive 如何将星号(可能适用于您的情况)作为函数的参数处理。

类似于Explode ( source ) 所做的事情。

于 2012-04-11T20:49:04.693 回答