sql >> Databasteknik >  >> RDS >> Oracle

Flytta data från Oracle till HDFS, bearbeta och flytta till Teradata från HDFS

Det verkar som om du har flera frågor så låt oss försöka bryta ner det.

Importerar i HDFS

Det verkar som om du letar efter Sqoop . Sqoop är ett verktyg som låter dig enkelt överföra data in/ut från HDFS och kan ansluta till olika databaser inklusive Oracle. Sqoop är kompatibel med Oracle JDBC thin drivrutin. Så här skulle du överföra från Oracle till HDFS:

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

För mer information:här och här . Observera att du också kan importera direkt till en Hive-tabell med Sqoop, vilket kan vara bekvämt för att göra din analys.

Bearbetar

Som du noterade, eftersom dina data från början är relationella, är det en bra idé att använda Hive för att göra din analys eftersom du kanske är mer bekant med SQL-liknande syntax. Pig är mer ren relationell algebra och syntaxen är INTE SQL-liknande, det är mer en fråga om preferens men båda tillvägagångssätten borde fungera bra.

Eftersom du kan importera data till Hive direkt med Sqoop, bör din data vara direkt redo att bearbetas efter att den har importerats.

I Hive kan du köra din fråga och be den att skriva resultaten i HDFS:

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

Exportera till TeraData

Cloudera släppte förra året en anslutning för Teradata för Sqoop som beskrivs här , så du bör ta en titt eftersom det här ser ut precis som du vill ha. Så här skulle du göra det:

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

Det hela är definitivt genomförbart i vilken tidsperiod du vill, i slutändan är det viktiga storleken på ditt kluster, om du vill ha det snabbt så skala upp ditt kluster efter behov. Det som är bra med Hive och Sqoop är att bearbetningen kommer att distribueras i ditt kluster, så att du har total kontroll över schemat.



  1. mysql gå med i samma tabell olika resultatuppsättning

  2. Hur hämtar man id för den infogade raden när man använder upsert med WITH cluase i Posgres 9.5?

  3. returnera en rad i lagrad procedur på oracle

  4. Sammanfoga resultat från en SQL-fråga i Oracle