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/

原文地址:https://www.cnblogs.com/lullaby/p/9691772.html

时间: 2024-08-28 05:23:21

sqoop从mysql导入hive的一些问题的相关文章

sqoop 从mysql导入hive的字段名称问题

hive中有些关键字限制,因此有些字段名称在mysql中可用,但是到了hive就不行. 比如order必须改成order1, 下面列出了我们发现的一些不能在hive中使用的字段名称 order  => order1 sort => sort1 reduce => reduce1 cast => cast1 directory => directory1

教程 | 使用Sqoop从MySQL导入数据到Hive和HBase

基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 Sqool和Hive.HBase简介 Sqoop Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. Hiv

使用sqoop从mysql导入数据到hive

前言 这篇文章主要是用sqoop从mysql导入数据到hive时遇到的坑的总结. 环境: 系统:Centos 6.5 Hadoop:Apache,2.7.3 Mysql:5.1.73 JDK:1.8 Sqoop:1.4.7 Hadoop以伪分布式模式运行. 一.使用的导入命令 我主要是参考一篇文章去测试的,Sqoop: Import Data From MySQL to Hive. 参照里面的方法,在mysql建了表,填充了数据,然后按照自己的情况输入了命令: sqoop import --co

使用sqoop从mysql往hive中增量导数据shell脚本

一:sqoop增量导入的两种方式 Incremental import arguments: Argument Description --check-column (col) Specifies the column to be examined when determining which rows to import. (the column should not be of type CHAR/NCHAR/VARCHAR/VARNCHAR/ LONGVARCHAR/LONGNVARCHA

sqoop从mysql向hive中导数据,报数据库访问被拒绝

sqoop从mysql向hive中导数据,报数据库访问被拒绝.但诡异的是,sqoop的报错是提示连接本机的mysql被拒绝了,并不是提示连接目标数据所在的mysql被拒绝.我的还连了zookeeper,还会提示连接所有的zookeeper主机的mysql被拒绝.日志如最下方. 其实这些问题都是一个原因,就是目标数据所在的mysql限制了zookeeper的主机去访问它.只需要在该mysql上授权即可. 执行 grant all privileges on *.* to [email protec

sqoop从mysql导入到hdfs

1.mysql -- 创建数据库 create database logs; -- 使用 use logs; -- 创建表 create table weblogs(  md5 varchar(32),  url varchar(64),  request_date date,  request_time time,  ip varchar(15) ); -- 从外部文本文件加载数据 load data infile '/path/weblogs_entries.txt' into table

sqoop从mysql导入到hive

业务需求:将mysql的pis.T_MATCH表导入到hive上pms库的pis_t_match表 实现代码: hive -e "set mapred.job.queue.name=pms; create table if not exists pms.pis_t_match ( id bigint, merchant_id int, product_id string, product_name string, product_code string, oppon_product_code s

多种字符集并存情况下sqoop从MySQL导入HBase中文乱码解决

最近在做binlog日志采集同步到数据平台的事.刚开始需要借助sqoop将从库数据表数据初始化到hbase中,整个过程都需要自动化进行,尽量减少人为干预.但是,由于历史原因,线上存在两种字符集格式的数据库(表),而导入到hbase的数据我们需要统一采用utf-8格式存储.sqoop直接导入的话,没法控制中文字符转码工作.所以需要对sqoop源码进行简单改动支持这种方式. 大体思路是,通过定义一个接口可以从InformationSchema库的tables中获取某个表的table-collatio

sqoop命令,mysql导入到hdfs、hbase、hive

1.测试MySQL连接 bin/sqoop list-databases --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' 2.检验SQL语句 bin/sqoop eval --connect jdbc:mysql://192.168.1.187:3306/trade_dev --username 'mysql' --password '111111' --quer