如何使用 Sqoop 从 RDBMS 将数据导入本地文件系统,而不是 HDFS?

Posted

技术标签:

【中文标题】如何使用 Sqoop 从 RDBMS 将数据导入本地文件系统,而不是 HDFS?【英文标题】:How to import data using Sqoop from RDBMS into local file system, not HDFS? 【发布时间】:2014-11-19 18:42:35 【问题描述】:

我看到 Sqoop 允许将数据从 RDBMS 数据库导入 HDFS。但是,我想将数据导入 Linux 中的 本地文件系统文件夹,而不是导入 HDFS 文件系统。

有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

在 Sqoop1 中,您可以使用 documentation 中详述的“-fs”选项。这是一个简单的例子:

sqoop import -fs local -jt local --connect jdbc:mysql://<host>/sqoop --username sqoop --password sqoop --table tbl

在 Sqoop2 中,您将可以在创建链接时choose your file system:

HDFS URI: file:///

【讨论】:

【参考方案2】:

如果要将表存储在调用 sqoop 的目录中:

sqoop import -fs file:/// -jt local --connect jdbc://<host>/<database_name> --username <user_name> --password <password> --table <table_name>

表格将存储为 ./ 中的 csv 文件

【讨论】:

以上是关于如何使用 Sqoop 从 RDBMS 将数据导入本地文件系统,而不是 HDFS?的主要内容,如果未能解决你的问题,请参考以下文章

使用 SQOOP 和 FLUME 将数据从 RDBMS 移动到 Hadoop

在 sqoop 中从 RDBMS 导入选定的表

我们如何使用 SQoop 对从 RDBMS 迁移到 HDFS 的数据进行测试?

在 RDBMS 中没有主键的 Sqoop 导入

将 Blob 数据从 RDBMS (Sybase) 导入 Cassandra

浅谈sqoop