sqoop导入所有不与配置单元数据库同步的表

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

我使用下面的脚本,使用sqoop工具将mysql数据库表导入到hive中。

sqoop import-all-tables --connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" --username=retail_dba --password=cloudera --hive-import --hive-overwrite --create-hive-table --warehouse-dir=/user/hive/warehouse/

但是当我检查hive中的数据库时,没有retail.db。

mgdq6dx1

mgdq6dx11#

您的命令sqoops将所有内容放入此目录: /user/hive/warehouse/retail.db/ 要导入配置单元,请使用以下参数: --hive-import 你为什么要用 --as-textfile ?
如果要存储为文本文件,请使用 --as-textfile 然后使用“配置单元外部表”命令在配置单元中创建外部表。

a8jjtwal

a8jjtwal2#

如果要导入特定配置单元数据库(已创建)中的所有表。用途: --hive-database retail 在sqoop命令中。

sauutmhj

sauutmhj3#

正如dev所说的,如果您想在一个特定的db中sqoop所有的东西,那么使用
--hive database retail\u db else每个表都将在默认仓库目录/表名下展开

相关问题