当一些列有几种不同的数据类型时,DynamoDB表到Hive?

时间:2017-09-18 14:25:53

标签: hive amazon-dynamodb type-conversion

您好我正在尝试从Hive中的Dynamo创建外部表并将其保存在s3上作为镶木地板文件。我遇到了一个列的问题,它具有不同数据类型的项目(有时是字符串,有时是数字,有时是字符串/数字的数组)。因为我无法知道列应该是什么数据类型 - 如果我将它设置为带有数字或数组的字符串项将具有该属性的Null值。

有谁知道如何创建将所有这些类型转换为字符串的表?我是否必须编写自定义SerDe?

1 个答案:

答案 0 :(得分:0)

我想您正在使用此存储处理程序org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler 如果是,请查看此文档https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.ExternalTableForDDB.html

特别是本节:

注意:DynamoDBStorageHandler类不支持以下DynamoDB数据类型,因此它们不能与dynamodb.column.mapping一起使用

Map
List
Boolean
Null

然后,如果您有一个具有上述任何数据类型的DynamoDB列,则hive列​​值始终为NULL。