Ich habe eine tägliche Tabelle von Protokollen (ca. 10m Eingänge jeden Tag) in DynamoDB gespeichert.AWS: Datentransformation von dynamodb zu redshift
Um die Analyse zu machen, muss ich sie in Redshift übertragen. Außerdem muss ich neue Spalten erstellen, indem ich einen String analysiere (nvarchar (250)). Meine Idee war, den COPY-Befehl zu verwenden und Daten von DynamoDB zu Redshift zu übertragen und dann UDFs zu verwenden, um neue Spalten zu erstellen.
Das Problem mit diesem Ansatz ist, dass es viel Zeit in Anspruch nimmt (beide Teile) und es weiterhin fehlschlägt (Status der Abfrage ABORTED): Ich übertrage etwa 10 Tage Daten in einem Kopierbefehl.
Was sollte Ihrer Meinung nach ein besserer Ansatz sein: Verwendung einiger Amazon-Dienste wie Datenpipeline oder EMR? oder das Gleiche tun, aber anders organisiert?
Vielen Dank für die Antwort! Eine Frage: Glauben Sie, dass die Datenpipeline zur Erstellung neuer Spalten verwendet werden kann, während Daten von dynamodb nach s3 übertragen werden, oder sollten die Daten zuerst übertragen und dann transformiert werden (in Rotverschiebung)? –
Keine Datenpipeline unterstützt diese Funktion nicht. Warum können Sie keine s3-Datei mit Daten schreiben, die Sie brauchen? Wenn Sie es von dynamo db tun möchten. Gehen Sie für aws kleben oder verwenden Sie Dynamo db Streams Wrapper und Datensätze in Lambda verarbeiten und schreiben Sie auf s3 (aber ich stimme dieser Lösung langfristig nicht/Kosten/Leistungsfaktoren) –
soweit ich gesehen habe, aws Kleber (ich dachte darüber nach es auch) ist nur in einer Region verfügbar: uns Osten (n. Virginia) und meine Daten sind in der anderen Region ... –