记Java *** 作sqoop1.4.7版本,Sqoop.runSqoop

记Java *** 作sqoop1.4.7版本,Sqoop.runSqoop,第1张

        最近做了一个sqoop页面可视化的项目,但是在执行Sqoop.runSqoop方法的可能会产生异常,比如连接数据库产生时区问题,HDFS权限问题等等。但是无法使用try-catch抓取到异常,只是在控制台打印异常信息。

倍感疑惑,就去网上搜索相关问题,但是内容少之又少。无奈只能一点点去翻看sqoop的源码,发现产生的异常的都会转换为RunTimeException,但是即便是运行时异常也能抓取到啊,再深究源码发现这里是否抛异常是通过相关参数控制的。这里先简单做个备忘吧,具体源码就不一一贴了,后面有时间再详细说说,估计使用Java *** 控sqoop的也比较少,下面直接说解决办法:

第一种:使用String[] args = new String[]{},字符串数组的形式拼接参数去执行 在Sqoop.runSqoop方法前设置系统参数:System.setProperty("sqoop.throwOnError","true") 第一种:使用SqoopOptions的形式拼接参数去执行 (1)SqoopOption.setThrowOnError(true),封装上这个参数 (2)在Sqoop.runSqoop方法前设置系统参数:System.setProperty("sqoop.throwOnError","true")

ps:以上是个人遇到问题的解决办法,仅供参考,若有说的不妥当的地方,还请各位读者指正

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/870586.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-13
下一篇2022-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存