env:sqoop-1.4.2 hadoop-1.0.4 hive-0.9.0
import cmd:./ bin/sqoop import --connect jdbc:mysql:// localhost / metrics --username root -password 1023 --table访问--hive-import --create-hive-table --hive-table hivevisit2 --hive-home / home / hadoop / hive /
文件存在于hdfs:找到1项drwxr-xr-x - hadoop supergroup 0 2013-02-19 10:36 / user / hive / warehouse / hivevisit2
但是在hive中显示表,table hive visit2不存在
似乎当exe cmd“sqoop -hive-import”时,lt会自动创建表,但为什么当我看不到表时
如果我重新执行cmd“./bin/sqoop import --connect jdbc:mysql:// localhost / metrics --username root -password 1023 --table Visit --hive-import --create-hive-table - hive-table hivevisit2 --hive-home / home / hadoop / hive /“
错误显示“元数据错误:AlreadyExistsException(消息:表hivevisit2已存在)”
谁能告诉我如何在hive导入过程中自动创建表的解决方案
尝试从同一位置运行sqoop命令和hive命令。
您使用什么作为配置单元数据存储后端?默认情况下,Hive将为当前工作目录中的Metastore创建嵌入式derby数据存储。因此,当从不同的目录运行Hive和Sqoop时,您可能会得到不同的表空间。我建议将Hive配置为使用一些数据库支持的数据存储(MySQL,PostgreSQL)并配置Hive和Sqoop来使用它。