2017-03-07 3 views
2

In MySQL-Datenbank habe ich 100 Tabellen. Einige der Tabellennamen enden ähnlich wie untenwählen Sie Tabellennamen aus MySQL als Datei nach HDFS

123_testing 
124_testing 
125_testing_10 
and so on 

Jetzt habe ich die Tabellen auswählen möchten, die wie _testing beenden und haben die Ergebnisse als Datei in hdfs.

Ich möchte die Tabellennamen als Datei in HDFS sqoop.

Wie können wir das tun?

Ich kann sqoop list-tables verwenden, aber es gibt mir Ergebnisse aller Tabelle und auf dem lokalen Rechner. Wir können --target-dir Option mit diesem nicht angeben.

Antwort

3

akzeptiert keine --target-dir Argument.

Die Tabellennamen sind in der Datenbank information_schema von MySQL verfügbar. Diese Abfrage ruft die Tabellen in db_name ab, die wie _testing enden.

select TABLE_NAME from TABLES where TABLE_SCHEMA='db_name' and TABLE_NAME like '%_testing'; 

Verwenden Sie diese Abfrage mit --query Argument in sqoop-import und dann die --target-dir verwenden.