我正在使用aws数据管道中的配置单元脚本将数据从dynamodb传输到s3。我使用这样的脚本:
创建外部表dynamodb\u表(属性字符串、电子邮件字符串…)由'org.apache.hadoop.hive.dynamodb.dynamodbstoragehandler'tblproperty(“dynamodb.table.name”=“${dynamodb\u input\u table}”,“dynamodb.column.mapping”=“properties:properties,email:emailid...."); 创建外部表s3\U表(属性字符串、电子邮件字符串…)
以“\t”结尾的行格式分隔字段以“\n”结尾的行
位置'${s3_output_bucket}';
插入覆盖表s3\U table select*from dynamodb\U table;
dyanmodb表中的properties列如下
属性:字符串:{“deal\”:null,\“mintype\”:null,\“discount\”:null}
也就是说,它包含多个属性。我希望properties中的每个属性都作为一个单独的列(而不仅仅是单个列中的字符串)。我想要这个模式中的输出
交易类型折扣电子邮件
我该怎么做?
1条答案
按热度按时间nwo49xxi1#
属性列的json格式是否正确?如果是这样,看起来你可以-https://cwiki.apache.org/confluence/display/hive/languagemanual+udf#languagemanualudf-获取\u json \u对象