SQOOP在本地文件系统中导入存储数据而非HDFS

时间:2017-07-11 17:05:48

标签: hadoop sqoop

我试图通过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

3 个答案:

答案 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