AWS Data Pipeline ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von AWS Data Pipeline können den Service weiterhin wie gewohnt nutzen. Weitere Informationen
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
D ynamoDBExport DataFormat
Wendet ein Schema auf eine DynamoDB-Tabelle an, um sie über eine Hive-Abfrage zugänglich zu machen. Verwenden Sie DynamoDBExportDataFormat
zusammen mit einem HiveCopyActivity
-Objekt und DynamoDBDataNode
oder der S3DataNode
-Ein- und Ausgabe. DynamoDBExportDataFormat
hat folgende Vorteile:
-
Bietet sowohl DynamoDB- als auch Amazon S3 S3-Unterstützung
-
Ermöglicht das Filtern von Daten nach bestimmten Spalten in der Hive-Abfrage
-
Exportiert alle Attribute aus DynamoDB, auch wenn Sie ein dünnes Schema haben
Anmerkung
Boolesche DynamoDB-Typen sind nicht zu booleschen Hive-Typen zugeordnet. Es ist aber möglich, DynamoDB-Ganzzahlwerte von 0 oder 1 den booleschen Hive-Typen zuzuordnen.
Beispiel
Das folgende Beispiel zeigt, wie Sie mit HiveCopyActivity
und DynamoDBExportDataFormat
Daten von einem DynamoDBDataNode
auf einen anderen kopieren können, während gleichzeitig Daten basierend auf einem Zeitstempel gefiltert werden.
{
"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
Optionale Felder | Beschreibung | Slot-Typ |
---|---|---|
column | Spaltenname mit Datentyp, der von jedem Feld für die Daten angegeben wird, die von diesem Datenknoten beschrieben werden. Beispiel: Hostname STRING | String |
übergeordneter | Übergeordnetes Objekt des aktuellen Objekts, aus dem Slots übernommen werden. | Referenzobjekt, z. B. „parent“: {"ref“:“ myBaseObject Id "} |
Laufzeitfelder | Beschreibung | Slot-Typ |
---|---|---|
@Version | Pipeline-Version, mit der das Objekt erstellt wurde. | String |
Systemfelder | Beschreibung | Slot-Typ |
---|---|---|
@error | Fehler mit einer Beschreibung des falsch formatierten Objekts | String |
@pipelineId | Id der Pipeline, zu der dieses Objekt gehört | String |
@sphere | Die Kugel eines Objekts bezeichnet seinen Platz im Lebenszyklus: Komponentenobjekte ergeben Instance-Objekte, die Versuchsobjekte ausführen | String |