sqoop--mysql表导入hive

mysql 导入 hive
如果使用之前的方式
需要3个步骤:
1、mysql -> HDFS
2、创建hive表
3、将数据load到hive表中
如果可以直接把mysql的数据导入hive中进行分析,会相当的方便
bin/sqoop import \
--connect jdbc:mysql://[hostname]:3306/sqoop \
--username root \
--password 123456 \
--table tohdfs \
--direct \
--delete-target-dir \
--hive-import \
--hive-database student \
--hive-table stu_info2 \
--num-mappers 1 \

--fields-terminated-by '\t'


在hive里操作:
create database student;


create table stu_info(
id int,
name string
)row format delimited fields terminated by '\t';


机制:运行MR任务时,结果会在默认输出目录生成,然后将结果集文件移动到hive对应的表文件夹下面


-----------------------------------------------------------------------------------------------
报错1:
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
解决办法:
在 hadoop-env.sh : export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

报错:
FAILED: SemanticException [Error 10072]: Database does not exist: XXX
原因:当没有在sqoop的conf目录下找到hive-site.xml时,sqoop默认采用的是读取deby内置的数据库
解决办法:将hive-site.xml 放到sqoop的conf目录下


-----------------------------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值