没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Sqoop导Oracle数据到HDFS(Hive)
1、Sqoop连Oracle
命令行输入:sqoop list-tables --connect jdbc:oracle:thin:@192.168.91.4:1521:ORCL --username JIAOTONG --password dsjyjy123456 (遍历oracle里面的表)
2、Oracle表数据导入HDFS(Hive)
命令行输入:sqoop import --connect jdbc:oracle:thin:@192.168.91.4:1521:ORCL --username JIAOTONG --password dsjyjy123456
--table HADOOP_EVENT_INFO --hive-import -m 1;
注意:HADOOP_EVENT_INFO表数据导入HDFS,Sqoop会把Oracle中的表自动在hive中创建,不用另外建表(全表导入状态下)
注意:Oracle数据导入HDFS时默认分隔符是逗号,若某字段内容含有逗号,则需要重新指定分隔符,否则会出现导入数据错乱。
3、指定分隔符导入表(换行符)
命令行输入:sqoop import --connect jdbc:oracle:thin:@192.168.91.4:1521:ORCL --username JIAOTONG --password dsjyjy123456
--table HADOOP_EVENT_INFO --hive-import -m 1
--fields-terminated-by '\n' --lines-terminated-by '\n' (换行符为分隔符)
--null-string ' ' --null-non-string '0' (空列的值用null补充)
补充:从hive里删除一张表后HDFS中仍会留有该表,需要删除HDFS中表
命令行输入:hdfs dfs -rmr hdfs://master1:9000/user/root/HADOOP_EVENT_INFO;
4、Oracle指定字段导入Hive(非全表时会先导入HDFS,需要在Hive中创建表后将HDFS中数据导入表中)
step1:导入HDFS。
命令行输入:sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.91.4:1521:ORCL --username JIAOTONG --password dsjyjy123456 --table HADOOP_EVENT_INFO_KEY -m 1 --columns keyid,nature_id,warn_time,accep_dept,wp --null-string ' ' --null-non-string '0';
step2:Hive中创建表。
命令行输入:create table hadoop_event_info(id string,nature_id String,warn_time String,accep_dept String,wp String);
step3:HDFS到Hive。
命令行输入:load data inpath "/user/root/HADOOP_EVENT_INFO_KEY" into table hadoop_event_info_key;
5、Oracle增量导入Hive
1、Sqoop连Oracle
命令行输入:sqoop list-tables --connect jdbc:oracle:thin:@192.168.91.4:1521:ORCL --username JIAOTONG --password dsjyjy123456 (遍历oracle里面的表)
2、Oracle表数据导入HDFS(Hive)
命令行输入:sqoop import --connect jdbc:oracle:thin:@192.168.91.4:1521:ORCL --username JIAOTONG --password dsjyjy123456
--table HADOOP_EVENT_INFO --hive-import -m 1;
注意:HADOOP_EVENT_INFO表数据导入HDFS,Sqoop会把Oracle中的表自动在hive中创建,不用另外建表(全表导入状态下)
注意:Oracle数据导入HDFS时默认分隔符是逗号,若某字段内容含有逗号,则需要重新指定分隔符,否则会出现导入数据错乱。
3、指定分隔符导入表(换行符)
命令行输入:sqoop import --connect jdbc:oracle:thin:@192.168.91.4:1521:ORCL --username JIAOTONG --password dsjyjy123456
--table HADOOP_EVENT_INFO --hive-import -m 1
--fields-terminated-by '\n' --lines-terminated-by '\n' (换行符为分隔符)
--null-string ' ' --null-non-string '0' (空列的值用null补充)
补充:从hive里删除一张表后HDFS中仍会留有该表,需要删除HDFS中表
命令行输入:hdfs dfs -rmr hdfs://master1:9000/user/root/HADOOP_EVENT_INFO;
4、Oracle指定字段导入Hive(非全表时会先导入HDFS,需要在Hive中创建表后将HDFS中数据导入表中)
step1:导入HDFS。
命令行输入:sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.91.4:1521:ORCL --username JIAOTONG --password dsjyjy123456 --table HADOOP_EVENT_INFO_KEY -m 1 --columns keyid,nature_id,warn_time,accep_dept,wp --null-string ' ' --null-non-string '0';
step2:Hive中创建表。
命令行输入:create table hadoop_event_info(id string,nature_id String,warn_time String,accep_dept String,wp String);
step3:HDFS到Hive。
命令行输入:load data inpath "/user/root/HADOOP_EVENT_INFO_KEY" into table hadoop_event_info_key;
5、Oracle增量导入Hive
资源评论
- csdnhy1232017-03-16百度都有,三个积分浪费了。
小马吃草
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功