如何使用 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 中的特定数据库?的主要内容,如果未能解决你的问题,请参考以下文章