关于如何使用薄 jar 提交Spark应用程序的任何见解?
这种情况是这样的:如果项目的类路径中不存在某些特定的依赖关系,或者特定于某些发行版cloudera或hortonworks的依赖关系,则在未使用适当版本的jar的情况下会引发异常。
我们如何避免这种情况?
最佳答案
您可以制作的唯一一个瘦 jar 是不会将Spark核心库编译到JAR中的 jar 。例如,不需要包含Spark SQL和Spark Streaming,但是除非在安装过程中在Hive支持下编译了Spark,否则您仍然需要其中的一个。
您需要联系Hadoop集群管理员,以了解可用的Spark版本,如何构建以及$SPARK_HOME
中可用的库。
根据我的经验,我从来没有遇到过对HDP或CDH的特定依赖,因为我曾经运行过提交给YARN的Spark 2.3作业,而两家公司都未正式支持该版本。您唯一需要做的就是将Spark版本与您的代码进行匹配,而不必是Hadoop / YARN / Hive版本。 Kafka,Cassandra和其他连接器都是多余的,它们不能放在 jar 里
关于maven - 创建用于提交Spark应用程序的瘦 jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49491881/