Frage

Wir verwenden derzeit RedShift als unser Data Warehouse, mit dem wir sehr zufrieden sind. Wir haben jetzt jedoch die Voraussetzung, maschinelles Lernen gegen die Daten in unserem Lagerhaus zu leisten. Angesichts des Datenvolumens möchte ich im Idealfall die Berechnung an derselben Stelle wie die Daten ausführen, anstatt die Daten umzuschieben, aber dies scheint bei Rotverschiebung nicht möglich zu sein. Ich habe Madlib angesehen, aber dies ist keine Option, da RedShift UDFS (was Madlib benötigt) nicht unterstützt. Ich möchte derzeit die Daten in EMR verschieben und sie mit der Apache Spark Machine Learning Library (oder vielleicht H20 oder Mahout oder was auch immer) verarbeiten. Also meine Fragen sind:

  1. Gibt es einen besseren Weg?
  2. Wenn nicht, wie soll ich die Daten zum Funken zugänglich machen? Zu den Optionen, die ich bisher identifiziert habe, gehören: Verwenden Sie SQOOP, um es in HDFs zu laden, verwenden Sie Dbinputformat, führen Sie einen Rotverschiebungsexport in S3 durch und lassen Sie es von dort aus Spark greifen. Was sind die Vor-/Nachteile für diese verschiedenen Ansätze (und andere) bei der Verwendung von Spark?

Beachten Sie, dass dies Offline-Stapel-Lernen ist, aber wir möchten dies so schnell wie möglich tun können, damit wir Experimente schnell wiederholen können.

War es hilfreich?

Lösung

Der neue Amazon Machine Learning Service kann für Sie funktionieren. Es funktioniert direkt mit Rotverschiebung und könnte ein guter Start sein. http://aws.amazon.com/machine-learning/

Wenn Sie mit EMR verarbeiten möchten, können Sie den Befehl Redshift -Entladen verwenden, um Daten auf S3 zu landen. Spark auf EMR kann dann direkt darauf zugreifen, ohne dass Sie es in HDFs ziehen müssen.

Funke auf EMR: https://aws.amazon.com/articles/elastic-mapreduce/4926593393724923

Andere Tipps

Sie können das versuchen.https://github.com/databricks/spark-redshift

Verwenden Sie ansonsten Rahuls Antwort, laden Sie Daten in S3 aus und laden Sie sie in Spark. EMR Spark befindet sich auf dem Yarn- und Spark Context's Textfile -Methode unterstützt nativ "s3 //".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top