AWS Data Pipeline 不再向新客户提供。的现有客户 AWS Data Pipeline 可以继续照常使用该服务。了解更多
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
D ynamoDBData 格式
将架构应用于 DynamoDB 表以使其可供 Hive 查询访问。DynamoDBDataFormat
与 HiveActivity
对象以及 DynamoDBDataNode
输入和输出一起使用。DynamoDBDataFormat
要求您在 Hive 查询中指定所有列。要更灵活地在 Hive 查询或 Amazon S3 支持中指定特定列,请参阅 D ynamoDBExport DataFormat。
注意
DynamoDB 布尔类型不会映射到 Hive 布尔类型。不过,可以将 DynamoDB 整数值 0 或 1 映射到 Hive 布尔类型。
示例
以下示例说明如何使用 DynamoDBDataFormat
将架构分配给 DynamoDBDataNode
输入,这将允许 HiveActivity
对象按命名的列访问数据并将数据复制到 DynamoDBDataNode
输出。
{ "objects": [ { "id" : "Exists.1", "name" : "Exists.1", "type" : "Exists" }, { "id" : "DataFormat.1", "name" : "DataFormat.1", "type" : "DynamoDBDataFormat", "column" : [ "hash STRING", "range STRING" ] }, { "id" : "DynamoDBDataNode.1", "name" : "DynamoDBDataNode.1", "type" : "DynamoDBDataNode", "tableName" : "$INPUT_TABLE_NAME", "schedule" : { "ref" : "ResourcePeriod" }, "dataFormat" : { "ref" : "DataFormat.1" } }, { "id" : "DynamoDBDataNode.2", "name" : "DynamoDBDataNode.2", "type" : "DynamoDBDataNode", "tableName" : "$OUTPUT_TABLE_NAME", "schedule" : { "ref" : "ResourcePeriod" }, "dataFormat" : { "ref" : "DataFormat.1" } }, { "id" : "EmrCluster.1", "name" : "EmrCluster.1", "type" : "EmrCluster", "schedule" : { "ref" : "ResourcePeriod" }, "masterInstanceType" : "m1.small", "keyPair" : "$KEYPAIR" }, { "id" : "HiveActivity.1", "name" : "HiveActivity.1", "type" : "HiveActivity", "input" : { "ref" : "DynamoDBDataNode.1" }, "output" : { "ref" : "DynamoDBDataNode.2" }, "schedule" : { "ref" : "ResourcePeriod" }, "runsOn" : { "ref" : "EmrCluster.1" }, "hiveScript" : "insert overwrite table ${output1} select * from ${input1} ;" }, { "id" : "ResourcePeriod", "name" : "ResourcePeriod", "type" : "Schedule", "period" : "1 day", "startDateTime" : "2012-05-04T00:00:00", "endDateTime" : "2012-05-05T00:00:00" } ] }
语法
可选字段 | 描述 | 槽类型 |
---|---|---|
column | 具有该数据节点描述的数据的各个字段指定的数据类型的列名。例如,hostname STRING 。对于多个值,请使用以空格分隔的列名和数据类型。 |
String |
parent | 槽将继承自的当前对象的父级。 | 引用对象,例如 “父对象”:{"ref”:” myBaseObject Id "} |
运行时字段 | 描述 | 槽类型 |
---|---|---|
@version | 用于创建对象的管道版本。 | String |
系统字段 | 描述 | 槽类型 |
---|---|---|
@error | 用于描述格式不正确的对象的错误消息。 | String |
@pipelineId | 该对象所属的管道的 ID。 | String |
@sphere | 对象的范围指明对象在生命周期中的位置:组件对象产生实例对象,后者执行尝试对象。 | String |