栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Java程序中使用Sqoop?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Java程序中使用Sqoop?

您可以通过在类路径中包含sqoop jar并调用该

Sqoop.runTool()
方法,从Java代码内部运行sqoop
。您将必须创建所需的参数才能以编程方式像命令行一样(例如,
--connect
等)进行缩放。

请注意以下几点:

  • 确保sqoop工具名称(例如,导入/导出等)是第一个参数。
  • 请注意类路径的排序-执行可能会失败,因为sqoop需要库的版本X,而您使用的是其他版本。确保sqoop所需的库没有被您自己的依赖项所遮盖。我在commons-io中遇到了这样的问题(sqoop需要v1.4),并且由于我正在使用commons-io v1.2而出现了NoSuchMethod异常。
  • 每个参数都必须位于单独的数组元素上。例如,“-connect jdbc:mysql:…”应作为数组中两个单独的元素而不是一个元素传递。
  • sqoop解析器知道如何接受双引号参数,因此,如果需要,请使用双引号(我建议始终如此)。唯一的例外是fields-delimited-by参数,该参数需要一个字符,因此请不要双引号。
  • 我建议拆分命令行参数创建逻辑和实际执行,以便无需实际运行工具即可正确测试您的逻辑。
  • 最好使用–hadoop-home参数,以防止对环境的依赖性。
  • Sqoop.runTool()
    与之相对的优点
    Sqoop.Main()
    runTool()
    返回执行错误代码的事实。

希望能有所帮助。

final int ret = Sqoop.runTool(new String[] { ... });if (ret != 0) {  throw new RuntimeException("Sqoop failed - return pre " + Integer.toString(ret));}

RL



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/485742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号