如何使用 sqoop 将 Mysql 中的所有表导入到 hive 中用于 hive 中的特定数据库?

Posted

技术标签:

【中文标题】如何使用 sqoop 将 Mysql 中的所有表导入到 hive 中用于 hive 中的特定数据库?【英文标题】:how to import-all-tables from Mysql to hive using sqoop for particular database in hive? 【发布时间】:2019-06-24 12:39:05 【问题描述】:

sqoop import-all-tables into hive with default database 工作正常,但 Sqoop import-all-tables into hive 指定数据库不工作。

由于--hive-database 已贬值如何指定数据库名称

sqoop import-all-tables \
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username root \
--password XXX  \
--hive-import \
--create-hive-table 

以上代码在 /user/hive/warehouse/ 即默认目录下创建表

如何将所有表导入/user/hive/warehouse/retail.db/

【问题讨论】:

【参考方案1】:

您可以使用选项 --warehouse-dir 设置数据库的 HDFS 路径。 下一个例子对我有用:

sqoop import-all-tables \
--connect jdbc:mysql://localhost:3306/retail_db \
--username user \
--password password \
--warehouse-dir /apps/hive/warehouse/lina_test.db
--autoreset-to-one-mapper

【讨论】:

请重新措辞以避免给人提出问题的印象(以“Can”开头的非问题在世界某些地方是当地的成语,但经常被误认为“the ? is missing” .)。另外,请避免“尝试”,从而使这一点更加自信。另外请查看***.com/editing-help 以提高您帖子的可读性。如果这实际上是一个尝试某事的请求,那么请使用您的评论权限,而不是做出试探性的、探索性的回答。

以上是关于如何使用 sqoop 将 Mysql 中的所有表导入到 hive 中用于 hive 中的特定数据库?的主要内容,如果未能解决你的问题,请参考以下文章

如何将mysql数据导入Hadoop之Sqoop安装

sqoop mysql数据变化怎么导入

如何将mysql数据导入Hadoop之Sqoop安装

Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入导出

使用sqoop将MySQL数据库中的数据导入Hbase

Hive 中的增量更新