嗨,我正试图创建外部表从发电机在Hive和保存在s3的Parquet文件。我在一个列值中遇到了一个问题,其中的项具有不同的数据类型(有时是字符串,有时是数字,有时是字符串/数字数组)。因此,我无法知道该列应该是什么数据类型—如果将其设置为带有数字或数组的字符串项,则该属性的值将为null。
有人知道如何创建将所有这些类型转换为字符串的表吗?我要写自定义serde吗?
嗨,我正试图创建外部表从发电机在Hive和保存在s3的Parquet文件。我在一个列值中遇到了一个问题,其中的项具有不同的数据类型(有时是字符串,有时是数字,有时是字符串/数字数组)。因此,我无法知道该列应该是什么数据类型—如果将其设置为带有数字或数组的字符串项,则该属性的值将为null。
有人知道如何创建将所有这些类型转换为字符串的表吗?我要写自定义serde吗?
1条答案
按热度按时间mpgws1up1#
我假设您使用的是这个存储处理程序org.apache.hadoop.hive.dynamodb.dynamodbstoragehandler如果是这样,那么请查看此文档https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/emrfordynamodb.externaltableforddb.html
特别是本节:
注意:dynamodbstoragehandler类不支持以下dynamodb数据类型,因此它们不能与dynamodb.column.mapping一起使用
然后,如果有一个dynamodb列具有上述任何数据类型,那么配置单元列值将始终为null。