Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verschieben Sie Daten von Oracle nach HDFS, verarbeiten Sie sie und verschieben Sie sie von HDFS nach Teradata

Sieht so aus, als hätten Sie mehrere Fragen, also versuchen wir, sie aufzuschlüsseln.

Importieren in HDFS

Anscheinend suchen Sie nach Sqoop . Sqoop ist ein Tool, mit dem Sie Daten einfach in/aus HDFS übertragen und sich mit verschiedenen Datenbanken, einschließlich Oracle, nativ verbinden können. Sqoop ist mit dem Oracle JDBC Thin-Treiber kompatibel. So würden Sie von Oracle auf HDFS übertragen:

sqoop import --connect jdbc:oracle:[email protected]:1521/db --username xxx --password yyy --table tbl --target-dir /path/to/dir

Weitere Informationen:hier und hier . Beachten Sie, dass Sie mit Sqoop auch direkt in eine Hive-Tabelle importieren können, was für Ihre Analyse praktisch sein könnte.

Verarbeitung

Da Ihre Daten zunächst relational sind, ist es, wie Sie bereits bemerkt haben, eine gute Idee, Hive für Ihre Analyse zu verwenden, da Sie möglicherweise mit der SQL-ähnlichen Syntax besser vertraut sind. Pig ist eher reine relationale Algebra und die Syntax ist NICHT SQL-ähnlich, es ist eher eine Frage der Präferenz, aber beide Ansätze sollten gut funktionieren.

Da Sie mit Sqoop Daten direkt in Hive importieren können, sollten Ihre Daten direkt nach dem Import bereit zur Verarbeitung sein.

In Hive könnten Sie Ihre Abfrage ausführen und anweisen, die Ergebnisse in HDFS zu schreiben:

hive -e "insert overwrite directory '/path/to/output' select * from mytable ..."

In TeraData exportieren

Cloudera veröffentlichte letztes Jahr einen Connector für Teradata für Sqoop wie beschrieben hier , also sollten Sie einen Blick darauf werfen, da dies genau so aussieht, wie Sie es wollen. So würden Sie vorgehen:

sqoop export --connect jdbc:teradata://localhost/DATABASE=MY_BASE --username sqooptest --password xxxxx --table MY_DATA --export-dir /path/to/hive/output

Das Ganze ist definitiv in jedem gewünschten Zeitraum machbar, am Ende kommt es auf die Größe Ihres Clusters an, wenn Sie es schnell wollen, dann skalieren Sie Ihren Cluster nach Bedarf. Das Gute an Hive und Sqoop ist, dass die Verarbeitung in Ihrem Cluster verteilt wird, sodass Sie die vollständige Kontrolle über den Zeitplan haben.