Sqoop - Importa tutte le tabelle

Questo capitolo descrive come importare tutte le tabelle dal server di database RDBMS all'HDFS. Ciascun dato della tabella viene archiviato in una directory separata e il nome della directory è uguale al nome della tabella.

Sintassi

La sintassi seguente viene utilizzata per importare tutte le tabelle.

$ sqoop import-all-tables (generic-args) (import-args) 
$ sqoop-import-all-tables (generic-args) (import-args)

Esempio

Facciamo un esempio di importazione di tutte le tabelle dal file userdbBanca dati. L'elenco delle tabelle che il databaseuserdb contiene è il seguente.

+--------------------+
 |      Tables        |
 +--------------------+
 |      emp           |
 |      emp_add       |
 |      emp_contact   |
 +--------------------+

Il seguente comando viene utilizzato per importare tutte le tabelle dal file userdb Banca dati.

$ sqoop import-all-tables \
--connect jdbc:mysql://localhost/userdb \
--username root

Note - Se si utilizza l'importazione di tutte le tabelle, è obbligatorio che ogni tabella in quel database abbia un campo chiave primaria.

Il comando seguente viene utilizzato per verificare tutti i dati della tabella nel database userdb in HDFS.

$ $HADOOP_HOME/bin/hadoop fs -ls

Ti mostrerà l'elenco dei nomi delle tabelle nel database userdb come directory.

Produzione

drwxr-xr-x - hadoop supergroup 0 2014-12-22 22:50 _sqoop
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:46 emp
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:50 emp_add
drwxr-xr-x - hadoop supergroup 0 2014-12-23 01:52 emp_contact