如何使用配置单元脚本访问dynamoDb中blob的单个元素?

时间:2016-02-27 02:45:08

标签: hive amazon-dynamodb hiveql amazon-data-pipeline

我正在使用AWS Data Pipeline中的hive脚本将数据从DynamoDB传输到S3。我正在使用这样的脚本:

  

CREATE EXTERNAL TABLE dynamodb_table(PROPERTIES STRING,EMAIL   STRING,.............)存储   ' org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' TBLPROPERTIES   (" dynamodb.table.name" =" $ {DYNAMODB_INPUT_TABLE}",   " dynamodb.column.mapping" =   "属性:属性,EMAIL:EMAILID ....&#34);   CREATE EXTERNAL TABLE s3_table(                   属性字符串,                   电子邮件字符串,                                       ......                   )

     

行格式删除字段终止于' \ t'由' \ n'

终止的线路      

LOCATION' $ {S3_OUTPUT_BUCKET}';

     

INSERT OVERWRITE TABLE s3_table SELECT * FROM dynamodb_table;

DyanmoDB表中的Properties列就像这样

  

属性:字符串   :{\"交易\":空,\" MinType \":空,\"折扣\":空}

它包含多个属性。我希望Properties中的每个属性都作为一个单独的列(而不仅仅是单个列中的字符串)。我想要这个架构中的输出

交易MinType折扣EMAIL

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您的“属性”列是否采用正确的JSON格式?如果是这样,看起来你可以 - https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-get_json_object