我正在尝试将数据从sqoop导入到配置单元
mysql数据库
use sample;
create table forhive( id int auto_increment,
firstname varchar(36),
lastname varchar(36),
primary key(id)
);
insert into forhive(firstname, lastname) values("sample","singh");
select * from forhive;
abhay agrawal 1号
2维杰·夏尔马
3样品辛格
这是我正在使用的sqoop命令(版本1.4.7)
sqoop import --connect jdbc:mysql://********:3306/sample
--table forhive --split-by id --columns id,firstname,lastname
--target-dir /home/programmeur_v/forhive
--hive-import --create-hive-table --hive-table sqp.forhive --username vaibhav -P
这就是我犯的错误
错误日志
18/08/02 19:19:49信息sqoop.sqoop:运行sqoop版本:1.4.7
输入密码:
18/08/02 19:19:55 info tool.basesqooptool:对输出使用特定于配置单元的分隔符。您可以覆盖
18/08/02 19:19:55 info tool.basesqooptool:带--字段以等结尾的分隔符。
18/08/02 19:19:55 info manager.mysqlmanager:准备使用mysql流结果集。
18/08/02 19:19:55信息工具.codegentool:开始代码生成
18/08/02 19:19:56 info manager.sqlmanager:执行sql语句:从中选择t.* forhive
as t极限1
18/08/02 19:19:56 info manager.sqlmanager:执行sql语句:从中选择t.* forhive
as t极限1
18/08/02 19:19:56信息orm.compilationmanager:hadoop\u mapred\u home is/home/programmeur\v/softwares/hadoop-2.9.1
注意:/tmp/sqoop-programmeur\u v/compile/e8ffa12496a2e421f80e1fa16e025d28/forhive.java使用或重写不推荐使用的api。
注意:重新编译-xlint:deprecation for 细节。18/08/02 19:19:58 info orm.compilationmanager:正在写入jar文件:/tmp/sqoop-programmeur\u v/compile/e8ffa12496a2e421f80e1fa16e025d28/forhive.jar
18/08/02 19:19:58 warn manager.mysqlmanager:看起来您正在从mysql导入。
18/08/02 19:19:58 warn manager.mysqlmanager:这种传输速度更快!使用--direct
18/08/02 19:19:58 warn manager.mysqlmanager:用于执行特定于mysql的快速路径的选项。
18/08/02 19:19:58 info manager.mysqlmanager:将零日期时间行为设置为converttonull(mysql)
18/08/02 19:19:58 info mapreduce.importjobbase:开始导入forhive
18/08/02 19:19:58 info configuration.deprecation:mapred.jar已弃用。而是使用mapreduce.job.jar
18/08/02 19:19:59信息配置。弃用:mapred.map.tasks已弃用。而是使用mapreduce.job.maps
18/08/02 19:19:59 info client.rmproxy:在/0.0.0.0:8032连接到resourcemanager
18/08/02 19:20:02 info db.dbinputformat:使用读取提交事务隔离
18/08/02 19:20:02 info db.datadrivendbinputformat:边界值查询:选择最小值( id
),最大值( id
)从 forhive
18/08/02 19:20:02 info db.integerspliter:拆分大小:0;分割数:4从:1到:3
18/08/02 19:20:02 info mapreduce.jobsubmitter:数量splits:3
18/08/02 19:20:02信息配置。弃用:yarn.resourcemanager.system-metrics-publisher.enabled已弃用。相反,请使用yarn.system-metrics-publisher.enabl-ed
18/08/02 19:20:02 info mapreduce.jobsubmitter:提交作业令牌:job\u 1533231535061\u 0006
18/08/02 19:20:03 info impl.yarclientimpl:已提交申请\u 1533231535061 \u 0006
18/08/02 19:20:03 info mapreduce.job:跟踪作业的url:http://instance-1:8088/代理/应用程序\u 1533231535061 \u 0006/
18/08/02 19:20:03 info mapreduce.job:正在运行作业:作业\u 1533231535061 \u 0006
18/08/02 19:20:11 info mapreduce.job:作业作业\u 1533231535061 \u 0006在uber模式下运行:false
18/08/02 19:20:11 info mapreduce.job:Map0%减少0%
18/08/02 19:20:21 info mapreduce.job:Map33%减少0%
18/08/02 19:20:24 info mapreduce.job:Map100%减少0%
18/08/02 19:20:25 info mapreduce.job:作业\u 1533231535061 \u 0006成功完成
18/08/02 19:20:25信息mapreduce.job:计数器:31
File System Counters
FILE: Number of bytes read=0
FILE: Number of bytes written=622830
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
HDFS: Number of bytes read=295
HDFS: Number of bytes written=48
HDFS: Number of read operations=12
HDFS: Number of large read operations=0
HDFS: Number of write operations=6
Job Counters
Killed map tasks=1
Launched map tasks=3
Other local map tasks=3
Total time spent by all maps in occupied slots (ms)=27404
Total time spent by all reduces in occupied slots (ms)=0
Total time spent by all map tasks (ms)=27404
Total vcore-milliseconds taken by all map tasks=27404
Total megabyte-milliseconds taken by all map tasks=28061696
Map-Reduce Framework
Map input records=3
Map output records=3
Input split bytes=295
Spilled Records=0
Failed Shuffles=0
Merged Map outputs=0
GC time elapsed (ms)=671
CPU time spent (ms)=4210
Physical memory (bytes) snapshot=616452096
Virtual memory (bytes) snapshot=5963145216
Total committed heap usage (bytes)=350224384
File Input Format Counters
Bytes Read=0
File Output Format Counters
Bytes Written=48
18/08/02 19:20:25 info mapreduce.importjobbase:在25.828秒内传输了48字节(1.8584字节/秒)
18/08/02 19:20:25 info mapreduce.importjobbase:检索到3条记录。
18/08/02 19:20:25 info mapreduce.importjobbase:将配置单元/hcat导入作业数据发布到表forhive的侦听器
18/08/02 19:20:25 info manager.sqlmanager:执行sql语句:从中选择t.* forhive
as t极限1
18/08/02 19:20:25 info hive.hiveimport:将上载的数据加载到配置单元
18/08/02 19:20:25错误hive.hiveconfig:无法加载org.apache.hadoop.hive.conf.hiveconf。确保配置单元配置目录设置正确。
18/08/02 19:20:25错误tool.importtool:导入失败:java.io.ioexception:java.lang.classnotfoundexception:org.apache.hadoop.hive.conf.hiveconf位于org.apache.sqoop.hive.hiveconfig.gethiveconf(hiveconfig)。java:50)在org.apache.sqoop.hive.hiveimport.gethiveargs(hiveimport。java:392)在org.apache.sqoop.hive.hiveimport.executeexternalhivescript(hiveimport。java:379)在org.apache.sqoop.hive.hiveimport.executescript(hiveimport。java:337)在org.apache.sqoop.hive.hiveimport.importable(hiveimport。java:241)在org.apache.sqoop.tool.importtool.importtable(importtool。java:537)在org.apache.sqoop.tool.importtool.run(importtool。java:628) 在org.apache.sqoop.sqoop.run(sqoop。java:147)在org.apache.hadoop.util.toolrunner.run(toolrunner。java:76)在org.apache.sqoop.sqoop.runsqoop(sqoop。java:183)在org.apache.sqoop.sqoop.runtool(sqoop。java:234)在org.apache.sqoop.sqoop.runtool(sqoop。java:243)在org.apache.sqoop.sqoop.main(sqoop。java:252)原因:java.lang.classnotfoundexception:org.apache.hadoop.hive.conf.hiveconf位于java.net.urlclassloader.findclass(urlclassloader)。java:381)在java.lang.classloader.loadclass(classloader。java:424)在sun.misc.launcher$appclassloader.loadclass(launcher。java:349)在java.lang.classloader.loadclass(classloader。java:357)位于java.lang.class.forname0(本机方法)java.lang.class.forname(类。java:264)在org.apache.sqoop.hive.hiveconfig.gethiveconf(hiveconfig。java:44) ... 12个以上
在我为同样的错误做了google之后,我把hive\ conf\ dir也添加到了我的bashrc中
export hive\u home=/home/programmeur\u v/softwares/apache-hive-1.2.2-bin
export hive\u conf\u dir=/home/programmeur\u v/softwares/apache-hive-1.2.2-bin/conf
export path=$path:$java\u home/bin:$hadoop\u home/bin:$hive\u home/bin:$sqoop\u home/bin:$hive\u conf\u dir
我所有的hadoop服务都已经启动并运行了。
6976名称节点
7286次要名称节点
7559节点管理器
7448资源管理器
8522数据节点
14587日元
我只是不知道我犯了什么错误。请引导!
5条答案
按热度按时间fykwrbwg1#
使用cd$hive\u home/lib转到$hive\u home/lib目录
然后复制hive-common-x.x.x.jar并使用
cp hive-common-x.x.x.jar$sqoop\u home/lib
3xiyfsfu2#
当我尝试使用以下命令将数据从mysql导入到配置单元时,遇到了相同的问题:
最后,这些环境变量使它完美地工作。
y0u0uwnf3#
编辑您的.bash\u配置文件,然后添加hadoop\u类路径
vim ~/.bash_profile
export hadoop\u classpath=$hadoop\u classpath:$hive\u home/lib/*source ~/.bash_profile
bqf10yzr4#
你需要下载这个文件
hive-common-0.10.0.jar
并将其复制到$SQOOP_HOME/lib
文件夹。628mspwn5#
通过google下载文件“hive-common-0.10.0.jar”。把它放在“sqoop/lib”文件夹中。这个方法对我有效。