使用 Sqoop 将数据从 RDBMS 导入 Hive 时,如何在命令行中指定 Hive 数据库名称?

Posted

技术标签:

【中文标题】使用 Sqoop 将数据从 RDBMS 导入 Hive 时,如何在命令行中指定 Hive 数据库名称?【英文标题】:How to specify Hive database name in command line while importing data from RDBMS into Hive using Sqoop ? 【发布时间】:2013-01-25 12:20:49 【问题描述】:

我需要将数据从 RDBMS 表导入远程 Hive 机器。我如何使用 Sqoop 实现这一点?

简而言之,如何在 import 命令中指定 hive 数据库名称和 hive 机器 i/p?

请帮助我使用适当的 sqoop 命令。

【问题讨论】:

【参考方案1】:

您应该在安装了 Hive 的机器上运行sqoop 命令,因为sqoop 将寻找$HIVE_HOME/bin/hive 来执行CREATE TABLE ... 和其他语句。

或者,您可以使用 sqoop--hive-home 命令行选项来指定 Hive 的安装位置(只是覆盖 $HIVE_HOME

要连接到您的远程 RDBMS:

sqoop import --connect jdbc:mysql://remote-server/mytable --username xxx --password yyy

要导入 Hive:

sqoop import --hive-import

您可以通过查看 http://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html#_literal_sqoop_import_literal">此链接获得更全面的命令列表。

【讨论】:

以上是关于使用 Sqoop 将数据从 RDBMS 导入 Hive 时,如何在命令行中指定 Hive 数据库名称?的主要内容,如果未能解决你的问题,请参考以下文章

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

在 RDBMS 中没有主键的 Sqoop 导入

在 sqoop 中从 RDBMS 导入选定的表

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

浅谈sqoop

Sqoop 导入具有 avro 格式的换行符的数据,然后使用 hive 查询