【问题标题】:Creating thin jar for submitting spark applications创建用于提交 Spark 应用程序的薄 jar
【发布时间】:2018-09-04 14:56:41
【问题描述】:

关于我们如何使用瘦 jar 提交 Spark 应用程序的任何见解?

这种情况是,如果项目的类路径中不存在某些特定依赖项,或者特定于某些分发 cloudera 或 hortonworks,如果未使用适当版本的 jar,则会引发异常。

我们怎样才能避免这种情况?

【问题讨论】:

    标签: maven apache-spark hadoop jar spark-submit


    【解决方案1】:

    唯一可以制作的瘦 jar 是不将 Spark 核心库编译到 JAR 中的。例如,不需要包含 Spark SQL 和 Spark Streaming,但除非在安装期间使用 Hive 支持编译 Spark,否则您仍然需要它。

    您需要联系您的 Hadoop 集群管理员,以了解可用的 Spark 版本、构建方式以及开箱即用的 $SPARK_HOME 中可用的库。

    根据我的经验,我从来没有遇到过对 HDP 或 CDH 的特定依赖,因为我已经很好地运行了提交给 YARN 的 Spark 2.3 作业,而两家供应商都没有正式支持该版本。您唯一需要的是将 Spark 版本与您的代码匹配,不一定是 Hadoop/YARN/Hive 版本。 Kafka,Cassandra,其他连接器反正都是多余的,不能装在薄罐子里

    【讨论】:

    • 感谢您的意见,有一个问题,如果我们有一些外部依赖,我们需要做什么,例如如果我们使用 drools 和 spark,我们如何确保 spark由于任何发行版(CDH 或 HDP)都不会提供 drools jar,因此使用薄 jar 作业运行良好。
    • 然后你将它作为一个胖 jar 包含,或者将它添加到所有执行程序类路径并提交一个瘦 jar
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 2017-11-27
    • 2017-09-11
    • 1970-01-01
    • 2018-09-19
    • 2016-09-19
    • 2012-01-16
    相关资源
    最近更新 更多