本章介紹如何導(dǎo)入從RDBMS數(shù)據(jù)庫服務(wù)器到HDFS所有表。每個(gè)表的數(shù)據(jù)存儲(chǔ)在一個(gè)單獨(dú)的目錄,目錄名與表名相同。
以下語法用于導(dǎo)入所有表。
$ sqoop import-all-tables (generic-args) (import-args) $ sqoop-import-all-tables (generic-args) (import-args)
以下是從USERDB數(shù)據(jù)庫導(dǎo)入的所有表的一個(gè)例子。數(shù)據(jù)庫USERDB包含表的列表如下。
+--------------------+ | Tables | +--------------------+ | emp | | emp_add | | emp_contact | +--------------------+
下面的命令用于從USERDB數(shù)據(jù)庫中導(dǎo)入所有的表。
$ sqoop import \ --connect jdbc:mysql://localhost/userdb \ --username root
注:如果使用的是import-all-tables,它是強(qiáng)制性的,在該數(shù)據(jù)庫中的每個(gè)表必須有一個(gè)主鍵字段。
下面的命令用于驗(yàn)證USERDB數(shù)據(jù)庫的所有表數(shù)據(jù)到HDFS
$ $HADOOP_HOME/bin/hadoop fs -ls
它會(huì)告訴你表名的USERDB數(shù)據(jù)庫的目錄列表。
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