Oracle
 sql >> Database >  >> RDS >> Oracle

Sposta i dati da Oracle a HDFS, elabora e passa a Teradata da HDFS

Sembra che tu abbia diverse domande, quindi proviamo ad analizzarle.

Importazione in HDFS

Sembra che tu stia cercando Sqoop . Sqoop è uno strumento che consente di trasferire facilmente i dati in/out da HDFS e può connettersi a vari database, incluso Oracle in modo nativo. Sqoop è compatibile con il thin driver Oracle JDBC. Ecco come trasferiresti da Oracle a HDFS:

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

Per ulteriori informazioni:qui e qui . Nota che puoi anche importare direttamente in una tabella Hive con Sqoop che potrebbe essere conveniente per fare la tua analisi.

Elaborazione

Come hai notato, poiché i tuoi dati inizialmente sono relazionali, è una buona idea usare Hive per eseguire l'analisi poiché potresti avere più familiarità con la sintassi simile a SQL. Pig è più pura algebra relazionale e la sintassi NON è simile a SQL, è più una questione di preferenza ma entrambi gli approcci dovrebbero funzionare bene.

Poiché puoi importare i dati in Hive direttamente con Sqoop, i tuoi dati dovrebbero essere subito pronti per essere elaborati dopo l'importazione.

In Hive puoi eseguire la tua query e dirgli di scrivere i risultati in HDFS:

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

Esportazione in TeraData

Cloudera ha rilasciato l'anno scorso un connettore per Teradata per Sqoop come descritto qui , quindi dovresti dare un'occhiata perché sembra esattamente quello che vuoi. Ecco come lo faresti:

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

L'intera cosa è sicuramente fattibile in qualsiasi periodo di tempo desideri, alla fine ciò che conta è la dimensione del tuo cluster, se lo desideri rapidamente, ridimensiona il tuo cluster secondo necessità. L'aspetto positivo di Hive e Sqoop è che l'elaborazione verrà distribuita nel tuo cluster, in modo da avere il controllo totale sulla pianificazione.