我使用下面的脚本,使用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。
3条答案
按热度按时间mgdq6dx11#
您的命令sqoops将所有内容放入此目录:
/user/hive/warehouse/retail.db/
要导入配置单元,请使用以下参数:--hive-import
你为什么要用--as-textfile
?如果要存储为文本文件,请使用
--as-textfile
然后使用“配置单元外部表”命令在配置单元中创建外部表。a8jjtwal2#
如果要导入特定配置单元数据库(已创建)中的所有表。用途:
--hive-database retail
在sqoop命令中。sauutmhj3#
正如dev所说的,如果您想在一个特定的db中sqoop所有的东西,那么使用
--hive database retail\u db else每个表都将在默认仓库目录/表名下展开