1

Newbee zu AWS.Kopieren Nutzdaten von Dynamodb zu Rotverschiebung

Ich möchte den Befehl COPY verwenden, um eine Tabelle von dynamoDB nach Redshift zu importieren. Aber ich kam die Fehlermeldung wie "Ungültiger Vorgang: Nicht unterstützter Datentyp: Aktuelle Version unterstützt nur Zeichenfolgen und Zahlen". Oder ich kann nur Werte in einigen Spalten haben und andere (wichtigere, wie Sensorwert in Paylaod) sind null.

In DynamoDB sind Hashkey und Rangekey String, aber die Nutzlast ist JSON-Format, wie kann ich diese Nutzlast zu Redshift COPY? Die Dokumentation in AWS bot keine Detaillösung.

+0

https://github.com/awslabs/lambda-streams-to-firehose – systemjack

Antwort

2

Der Befehl COPY kann zum Kopieren von Daten aus der DynamoDB-Tabelle verwendet werden, die Skalardatentypen (d. H. STRING und NUMBER) enthält.

Wenn Sie Attribute in der DynamoDB-Tabelle haben, die verschiedene Datentypen aufweist (z. B. Map, List, Set usw.), würde der COPY-Befehl fehlschlagen (d. H. Er wird momentan nicht unterstützt).

Nur Amazon DynamoDB-Attribute mit skalaren STRING- und NUMBER-Daten Typen werden unterstützt. Die Amazon DynamoDB BINARY- und SET-Datentypen sind nicht unterstützt. Wenn ein COPY-Befehl versucht, ein Attribut mit einem nicht unterstützten -Datentyp zu laden, schlägt der Befehl fehl. Wenn das Attribut nicht mit einer Amazon Redshift-Tabellenspalte übereinstimmt, versucht COPY nicht, es zu laden, und es wird kein Fehler ausgelöst.

+0

Vielen Dank für Ihre Antwort. Im AWS IoT-Lernprogramm wird dem Entwickler geraten, Sensordaten als JSON in Nutzdaten in dynamoDB zu speichern, zusätzlich mit Hash- und Rangschlüssel. Vielleicht ist Export DynamoDB zu S3 die einzige gültige Lösung für dieses Szenario? – stev90098289dev

+0

Ja, Sie können die Daten mit AWS-Pipeline nach S3 exportieren. – notionquest

Verwandte Themen