将 RDBMS 表的子集导入 HDFS

使用 --where 标签

sqoop import \
--connect <rdbms-jdbc-url> \
--username <username> \
--password <password> \
--table <table-name> \
--where "<condition>"

Mysql 示例:

sqoop import \
--connect jdbc:mysql://mysql.example.com/testdb \
--username root \
--password root \
--table employees \
--where "country = 'INDIA'"

--where 子句中可以使用任何特殊函数,转换甚至用户定义函数。

使用自由格式查询

sqoop import \
--connect <rdbms-jdbc-url> \
--username <username> \
--password <password> \
--query <sql-query> \
--target-dir <target-dir>

Mysql 示例:

sqoop import \
--connect jdbc:mysql://mysql.example.com/testdb \
--username root \
--password root \
--query "SELECT emplyoees.name, \
                address.city \
                FROM emplyoees \
                JOIN address USING(emp_id) \
                WHERE \$CONDITION" \
--taget-dir /dev/data/employees