sqoop从mysql导入hive的一些问题

Posted gloomysun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqoop从mysql导入hive的一些问题相关的知识,希望对你有一定的参考价值。

1.错误:Sqoop:Import failed: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

解决方法1:

mysql中的数据导入到hive中报错:

ERROR tool.ImportTool:Import failed: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

这是因为sqoop需要一个hive的包,将hive/lib中的hive-common-2.3.3.jar拷贝到sqoop的lib目录中,重新执行试试。

解决方法2:

在/etc/profile中添加下面一行

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

2.错误:main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")

解决方法:

Just add the following lines to your java.policy file unter <JRE_HOME>/lib/security.
grant {
  permission javax.management.MBeanTrustPermission "register";
};

3.错误:ERROR exec.DDLTask: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.readerFor(Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/ObjectReader;

解决犯法:jackson jar包版本冲突,将sqoop/lib下的jackson*.jar备份,将hive/lib包下的jackson*.jar包拷贝过来

4.错误:Required table missing : "DBS" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.schema.autoCreateTables"

解决方法:

到hive-site.xml中找到datanucleus.schema.autoCreateAll 把value改成true 

参考:http://blog.itpub.net/31506529/viewspace-2213877/

 




以上是关于sqoop从mysql导入hive的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

sqoop从mysql导入到hive为啥0变成null

如何使用 Sqoop 从 MySQL 增量导入到 Hive?

使用sqoop从mysql导入数据到hive

Sqoop从本地MySQL导入到Hive为啥要求Sqoop一定要在HDFS中

从 MySQL 到 Hive 的 Sqoop 导入成功,但选择返回所有 NULL 值

sqoop 导入从mysql导入数据到hive报类找不到