sqoop导入将数据存储在本地文件系统而不是hdfs中

carvr3hs  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(307)

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

cgfeq70w1#

sqoop命令:

sqoop import [GENERIC-ARGS] [TOOL-ARGS]

其中一个选项是:

-fs <local|namenode:port>      specify a namenode

如果你使用 -fs local 文件将存储在本地文件系统中。您可以指定集群的名称节点和端口详细信息,也可以不使用 -fs 选项,默认情况下它存储在hdfs中。
参考:sqoop文档

wyyhbhjk

wyyhbhjk2#

请注意您正在使用 -fs local 争论。由于这个参数,导入的数据存储在本地文件系统而不是hdfs中。

ss2ws0br

ss2ws0br3#

要导入到您的本地目录,您需要指定目标目录,其中包含要修改的sql表--
sqoop导入--连接jdbc:mysql://ip地址_address:port/db_name? --用户名--密码--驱动程序com.mysql.cj.jdbc.driver--表\u名称--m1--目标目录/usr/local/new

相关问题