Sqoop的基本使用方法
一、Sqoop的几个常用命令
1、Import:从关系型数据库中导入数据到Hadoop中的命令。
sqoop import \
--connect jdbc:mysql://hostname:port/database\
--username username \
--password 'password' \
--table tablename \
--target-dir /hdfs_path \
--delete-target-dir
--split-by column_name
注:
使用 --split-by 参数指定一个列作为拆分列。
2、Export:将Hadoop中的数据导出到关系型数据库中的命令。
sqoop export \
--connect jdbc:mysql://hostname:port/database \
--username username \
--password password \
--table tablename \
--export-dir /hdfs_path
3、List Databases:列出关系型数据库中的所有数据库。
sqoop list-databases \
--connect jdbc:mysql://hostname:port \
--username username \
--password password
4、List Tables:列出指定数据库中的所有表。
sqoop list-tables \
--connect jdbc:mysql://hostname:port/database \
--username username \
--password password
5、Create Hive Table:将关系型数据库中的表导入到Hive中并创建对应的Hive表。
sqoop create-hive-table \
--connect jdbc:mysql://hostname:port/database \
--username username \
--password password \
--table tablename
6、Eval:在关系型数据库中执行SQL语句并打印结果。
sqoop eval \
--connect jdbc:mysql://hostname:port/database \
--username username \
--password password \
--query "SELECT * FROM tablename LIMIT 10"
和
sqoop eval \
--connect jdbc:mysql://hostname:port/database \
--username username \
--password password \
--e "SELECT * FROM tablename LIMIT 10"
1、命令使用 -e 参数后跟着要执行的 SQL 查询作为字符串。它会直接执行指定的 SQL 查询,并将结果打印到控制台。这种方式适合于简单的 SQL 查询。
2、命令使用 -query 参数后跟着要执行的 SQL 查询作为字符串。与 -e 不同的是,这种方式允许你在查询中使用参数,并使用 – – 将参数传递给查询。这种方式适合于需要动态参数的查询。
3、总的来说,–e 和 --query 的区别在于前者用于静态查询,而后者可以支持动态参数化的查询。