我试图通过sqoop将数据从mysql导入到hdfs但是在我的/home/<user>/<tablename>
文件夹中导入其存储数据后不是在hdfs中。
sqoop import -fs local \
-jt local \
-libjars /tmp/sqoop-amar/compile/00992af844025da3f2ee7d83cb03a6b3/user_account.jar \
--create-hive-table --connect jdbc:mysql://localhost/ecom \
--username root --password 123456 \
--hive-import --table user_account
答案 0 :(得分:1)
请注意您使用-fs local
参数。由于此参数,导入的数据存储在本地文件系统中而不是hdfs。
答案 1 :(得分:1)
Sqoop命令:
sqoop import [GENERIC-ARGS] [TOOL-ARGS]
其中一个选项是:
-fs <local|namenode:port> specify a namenode
如果使用-fs local
,该文件将存储在本地文件系统中。您可以指定名称节点&amp;集群的端口详细信息或只是不使用-fs
选项,默认情况下它存储在HDFS中。
参考:Sqoop Docs
答案 2 :(得分:0)
导入到你的本地目录你需要用sql表指定目标目录来表示 -
sqoop import --connect jdbc:mysql:// ip_address:port / db_name? --username XXX --password XXX --driver com.mysql.cj.jdbc.Driver --table TABLE_NAME --m 1 --target -dir / usr / local / new