sqoop版本为1.4.4,hadoop版本为2.2.0,hive版本为0.11.0,hive元数据存放位置为mysql,当使用sqoop 从mysql往hive中导入数据时,总是提示找不到所指定的hive数据库,事实上hive中已存在该数据库,sqoop中也设置了hive路 径,/etc/profile文件中也已经设置好hive路径。

  mysql往hive中导数据命令:

1  ${SQOOP_HOME}/bin/sqoop import --connect jdbc:mysql://${hostname}/${database} --username ${user} --password ${password}  --table ${table}   --split-by docid --hive-import --hive-table lan.ding  
2  --fields-terminated-by '\t' --incremental  append  --check-column docid --last-value ${curr_max}   

 

解决办法:copy hive中的hive-site.xml文件放入sqoop conf目录下。当没有在sqoop的conf目录下找到hive-site.xml时,sqoop默认采用的是读取deby内置数据库。

              ps:其实已经在sqoop中指定了hive conf的目录,但就是一定要copy文件过来,有明白的可以交流交流,例外,还需注意文件的权限问题。

 

posted on 2014-06-16 17:36  LIUSANNITY  阅读(619)  评论(0编辑  收藏  举报