分享

sqoop export调用存储过程

tonydu 发表于 2017-3-24 15:05:05 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 10856


sqoop导出到oracle的脚本如下:

sqoop export --connect jdbc:oracle:thin:@******:***:cdmpdb1 \
--username ***** \
--password ***** \
--call proc1 \
--export-dir /user/hive/warehouse/app.db/cpa_event_params_daily/src_file_day=20170322 \
--columns product_key,product_name,app_ver_code,app_channel_id,event_name,param_name,param_val,val_cnt,val_pct,src_file_day \
--input-fields-terminated-by '\001' \
--input-lines-terminated-by '\n' \
--input-null-string '\\N' \
--input-null-non-string '\\N'


核心的问题:
储存过程pro1怎么写???
proc1是怎么把HDFS的数据和oracle中的表进行关联的???
换句话说,proc1怎么写才能把HDFS上的数据导出到oracle中的??

已有(2)人评论

跳转到指定楼层
NEOGX 发表于 2017-3-24 18:37:54
个人理解,存储过程是指oracle或则mysql的,而不是操作hdfs的。关于hdfs的操作都放到存储过程之外了。也就是说存储过程操作的是mysql或则oracle。目的是让存储过程代替oracle的sql语句。在说白一点,就是存储过程代替了sql语句。所以楼主如果业务不复杂,可以直接使用sql语句。
回复

使用道具 举报

tonydu 发表于 2017-3-27 15:00:24
这个问题没有直接被解决。
后来我们采用kettle来调用存储过程和导出数据来满足我们的需求,
该存储过程是用来进行清空上一个分区的数据和创建下一个分区
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条