DynamoDBExportDataFormat - AWS Data Pipeline

DynamoDBExportDataFormat

DynamoDB テーブルにスキーマを適用して、Hive クエリでアクセスできるようにします。DynamoDBExportDataFormat は、HiveCopyActivity オブジェクトと、DynamoDBDataNode または S3DataNode の入出力と共に使用します。DynamoDBExportDataFormat には以下の利点があります。

  • DynamoDB と Amazon S3 の両方のサポートを提供します。

  • Hive クエリで特定の列によってデータをフィルタリングすることができます。

  • スパースなスキーマである場合でも、DynamoDB のすべての属性をエクスポートします。

注記

DynamoDB のブール型は、Hive のブール型にマッピングされません。ただし、Hive のブール型に、0 または 1 の DynamoDB 整数値をマッピングすることができます。

以下の例は、HiveCopyActivityDynamoDBExportDataFormat を使用して、タイムスタンプに基づいてデータをフィルタリングしながら DynamoDBDataNode 間でデータをコピーする方法を示します。

{ "objects": [ { "id" : "DataFormat.1", "name" : "DataFormat.1", "type" : "DynamoDBExportDataFormat", "column" : "timeStamp BIGINT" }, { "id" : "DataFormat.2", "name" : "DataFormat.2", "type" : "DynamoDBExportDataFormat" }, { "id" : "DynamoDBDataNode.1", "name" : "DynamoDBDataNode.1", "type" : "DynamoDBDataNode", "tableName" : "item_mapped_table_restore_temp", "schedule" : { "ref" : "ResourcePeriod" }, "dataFormat" : { "ref" : "DataFormat.1" } }, { "id" : "DynamoDBDataNode.2", "name" : "DynamoDBDataNode.2", "type" : "DynamoDBDataNode", "tableName" : "restore_table", "region" : "us_west_1", "schedule" : { "ref" : "ResourcePeriod" }, "dataFormat" : { "ref" : "DataFormat.2" } }, { "id" : "EmrCluster.1", "name" : "EmrCluster.1", "type" : "EmrCluster", "schedule" : { "ref" : "ResourcePeriod" }, "masterInstanceType" : "m1.xlarge", "coreInstanceCount" : "4" }, { "id" : "HiveTransform.1", "name" : "Hive Copy Transform.1", "type" : "HiveCopyActivity", "input" : { "ref" : "DynamoDBDataNode.1" }, "output" : { "ref" : "DynamoDBDataNode.2" }, "schedule" : { "ref" : "ResourcePeriod" }, "runsOn" : { "ref" : "EmrCluster.1" }, "filterSql" : "`timeStamp` > unix_timestamp(\"#{@scheduledStartTime}\", \"yyyy-MM-dd'T'HH:mm:ss\")" }, { "id" : "ResourcePeriod", "name" : "ResourcePeriod", "type" : "Schedule", "period" : "1 Hour", "startDateTime" : "2013-06-04T00:00:00", "endDateTime" : "2013-06-04T01:00:00" } ] }

Syntax

オプションのフィールド 説明 スロットタイプ
このデータノードで記述されたデータに対して各フィールドで指定されたデータ型を持つ列名。例: hostname STRING 文字列
parent スロットの継承元となる現在のオブジェクトの親。 参照オブジェクト ("parent":{"ref":"myBaseObjectId"} など)

実行時フィールド 説明 スロットタイプ
@version オブジェクトが作成されたパイプラインのバージョン。 文字列

システムフィールド 説明 スロットタイプ
@error 形式が正しくないオブジェクトを説明するエラー 文字列
@pipelineId このオブジェクトが属するパイプラインの ID 文字列
@sphere オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します 文字列