默认情况下,oozie共享库目录为hive、pig和map reduce提供库。如果我想在oozie上运行spark作业,最好是将spark lib jar添加到oozie的共享库中,而不是将它们复制到app的lib目录中。如何将spark lib jar(包括spark core及其依赖项)添加到oozie的共享库中?如有任何意见/答复,我们将不胜感激。
wrrgggsh1#
spark action计划与oozie 4.2.0一起发布,尽管doc似乎有点落后。请参见此处的相关jira:oozie jira-add spark action executorcloudera的发行版cdh5.4已经发布了,请看这里的官方文档:cdh5.4oozie doc-oozie spark action extension在旧版本的oozie中,jar可以通过各种方法共享。第一种方法可能效果最好。完整的列表:以下是在工作流中包含jar的各种方法:在job.properties中设置oozie.libpath=/path/to/jars,另一个/path/to/jars。如果您有许多工作流都需要相同的jar,那么这很有用;您可以将它放在hdfs中的一个位置,并将其用于许多工作流。jar将可用于该工作流中的所有操作。没有必要将此指向sharelib位置(我在很多工作流中都看到了这一点。)如果在job.properties中设置oozie.use.system.libpath=true,oozie知道sharelib在哪里,并且会自动包含它。在hdfs中的workflow.xml旁边创建一个名为“lib”的目录,并将jars放在其中。如果您有一些只需要用于一个工作流的jar,这将非常有用。oozie将自动使这些jar可用于该工作流中的所有操作。在一个动作中指定一个指向单个jar的标记;可以有多个标记。如果希望某些jar仅用于特定操作而不是工作流中的所有操作,则这一点非常有用。缺点是必须在workflow.xml中指定它们,因此如果需要添加/删除一些jar,则必须更改workflow.xml。将jar添加到sharelib(例如/user/oozie/share/lib/lib/pig)虽然这样做可行,但不建议这样做有两个原因:使用sharelib的每个工作流中都会包含额外的jar,这对于那些工作流和用户来说可能是意外的。升级sharelib时,必须将额外的jar重新复制到新的sharelib。引用自roberkanter的博客:how-to:在apacheoozie(cdh5)中使用sharelib
1条答案
按热度按时间wrrgggsh1#
spark action计划与oozie 4.2.0一起发布,尽管doc似乎有点落后。请参见此处的相关jira:oozie jira-add spark action executor
cloudera的发行版cdh5.4已经发布了,请看这里的官方文档:cdh5.4oozie doc-oozie spark action extension
在旧版本的oozie中,jar可以通过各种方法共享。第一种方法可能效果最好。完整的列表:
以下是在工作流中包含jar的各种方法:
在job.properties中设置oozie.libpath=/path/to/jars,另一个/path/to/jars。
如果您有许多工作流都需要相同的jar,那么这很有用;您可以将它放在hdfs中的一个位置,并将其用于许多工作流。jar将可用于该工作流中的所有操作。没有必要将此指向sharelib位置(我在很多工作流中都看到了这一点。)如果在job.properties中设置oozie.use.system.libpath=true,oozie知道sharelib在哪里,并且会自动包含它。
在hdfs中的workflow.xml旁边创建一个名为“lib”的目录,并将jars放在其中。
如果您有一些只需要用于一个工作流的jar,这将非常有用。oozie将自动使这些jar可用于该工作流中的所有操作。
在一个动作中指定一个指向单个jar的标记;可以有多个标记。
如果希望某些jar仅用于特定操作而不是工作流中的所有操作,则这一点非常有用。缺点是必须在workflow.xml中指定它们,因此如果需要添加/删除一些jar,则必须更改workflow.xml。
将jar添加到sharelib(例如/user/oozie/share/lib/lib/pig)
虽然这样做可行,但不建议这样做有两个原因:使用sharelib的每个工作流中都会包含额外的jar,这对于那些工作流和用户来说可能是意外的。升级sharelib时,必须将额外的jar重新复制到新的sharelib。
引用自roberkanter的博客:how-to:在apacheoozie(cdh5)中使用sharelib