Det ser ud til, at du har flere spørgsmål, så lad os prøve at opdele det.
Importerer i HDFS
Det ser ud til, at du leder efter Sqoop . Sqoop er et værktøj, der lader dig nemt overføre data ind/ud af HDFS og kan oprette forbindelse til forskellige databaser, inklusive Oracle native. Sqoop er kompatibel med Oracle JDBC tynde driver. Sådan overfører du fra Oracle til HDFS:
sqoop import --connect jdbc:oracle:[email protected]:1521/db --username xxx --password yyy --table tbl --target-dir /path/to/dir
For mere information:her og her . Bemærk, at du også kan importere direkte til en Hive-tabel med Sqoop, hvilket kunne være praktisk at lave din analyse.
Behandler
Som du bemærkede, da dine data oprindeligt er relationelle, er det en god idé at bruge Hive til at lave din analyse, da du måske er mere fortrolig med SQL-lignende syntaks. Pig er mere ren relationel algebra, og syntaksen er IKKE SQL-lignende, det er mere et spørgsmål om præference, men begge tilgange burde fungere fint.
Da du kan importere data til Hive direkte med Sqoop, bør dine data være direkte klar til at blive behandlet, efter de er importeret.
I Hive kan du køre din forespørgsel og bede den skrive resultaterne i HDFS:
hive -e "insert overwrite directory '/path/to/output' select * from mytable ..."
Eksport til TeraData
Cloudera udgav sidste år en connector til Teradata til Sqoop som beskrevet her , så du bør tage et kig, da dette ligner præcis, hvad du ønsker. Sådan ville du gøre det:
sqoop export --connect jdbc:teradata://localhost/DATABASE=MY_BASE --username sqooptest --password xxxxx --table MY_DATA --export-dir /path/to/hive/output
Det hele kan helt sikkert lade sig gøre i hvilken som helst tidsperiode, du ønsker, i sidste ende er det, der betyder noget, størrelsen på din klynge, hvis du vil have det hurtigt, så skaler du din klynge op efter behov. Det gode med Hive og Sqoop er, at behandlingen vil blive distribueret i din klynge, så du har total kontrol over tidsplanen.