草庐IT

hadoop - 使用 OOZIE 在文件到达 NFS 时触发执行的最佳方法

正在关注1和2:不时有不同类型的文件进入我的NFS目录。我想使用OOZIE或任何其他HDFS解决方案来触发文件到达事件,并根据文件类型将文件复制到HDFS的特定位置。最好的方法是什么? 最佳答案 最佳方式是非常主观的术语。这在很大程度上取决于数据的类型、频率以及数据到达特定位置后应该发生什么样的事情。Apacheflume可以监控特定文件夹的数据可用性,并将其向下推送到任何接收器,例如HDFS原样。Flume非常适合流式传输数据。但它只做一项特定工作-只是将数据从一个地方移动到另一个地方。但另一方面,请查看Oozie协调器。协调器具

r - 通过命令行提交后编辑 Oozie Workflow

在使用命令行运行oozie工作流后,我无法使用HueWorkflow编辑器对其进行编辑,甚至无法在工作流列表中找到它。我有一个生成workflow.xml和job.properties的R脚本,并将运行运行脚本所需的命令:workflow.path将工作流移动到HDFS中工作正常,我已经验证它是使用oozie的有效工作流。运行作业也很有效,但是如果我打开Hue,导航到工作流并找到它,我无法编辑它,只能重新运行它。关于我正在尝试做的事情的一些背景:我们有大量的自动化工作流程,而且我们一直在添加更多。它们都遵循相同的模式,因此自动创建协调器和工作流很简单。有时,这些工作流程必须由人修改,并

hadoop - Oozie Hadoop 流媒体

我正在尝试编写一个简单的maponlyhadoopstreamingjob从hdfs读取数据并将其推送到vertica。我写了几个shell脚本如下加载.shhadoopjarhadoop-streaming-2.7.3.2.5.3.0-37.jar-input$INPUT_DIR-mapper/user/oozie/adhoc_data_load/scripts/export.sh-output$OUTPUT_DIR导出.sh./vsql-c"copy$TABLEfromstdindelimiterE'\t'directnull'\\N';"-U$DBUSER-w$DBPWD-h$D

hadoop - oozie distcp 操作中的正则表达式

我正在尝试将所有符合特定条件的文件复制到一个文件夹中${NAME_NODE}${PATH_COMVERSE}${CURRENT_DATE_NO_DASH}_*/*mta.gz${NAME_NODE}${PATH_MTA}/${CURRENT_DATE_NO_DASH}_*中的符号*代表A或B或C等。它搜索所有文件夹。如果我使用${CURRENT_DATE_NO_DASH}_A,它只会搜索1个文件。我怎样才能让它从所有文件夹中只取出2个?我尝试执行(A|B),但这没有用。 最佳答案 我假设这将是一个bash扩展,因为您的变量看起来像b

hadoop - Oozie HUE 仪表板未显示图表

正如我的标题所说,oozie工作流仪表板未在UI上显示图表。随着研究,我发现了很多问题,JIRAS以及hortonworksportal中的问题,这真的对我没有帮助。我正在从命令行创建job.properties和workflow.xml并从命令行提交作业,通过UI执行不是我的选择。下面是我正在运行的示例工作流.XML${jobTracker}${nameNode}mapreduce.job.queuename${queueName}SCRIPT.sh${Path}/SCRIPT.sh#SCRIPT.sh${configFile}提前致谢!! 最佳答案

hadoop - oozie 工作流应该只在有可用的输入 hdfs 文件时运行

我设置了协调器和值和超时。协调器工作正常,因为它会检查输入文件是否在hdfs位置可用,只有在它运行工作流时才会超时。我在工作流中需要相同的行为,就像如果我只运行一个没有协调器的工作流,那么工作流的行为应该与上述协调器的行为相同。我试过mapred.input.dir但工作流程成功运行。有没有其他方法可以达到同样的效果。工作流是一个简单的helloworld作业,而不是map-reduce作业。 最佳答案 Wrokflow用于按需运行作业。您正在寻找的功能在Workflow中不可用。该功能由协调器提供。

hadoop - Oozie + yarn : getting connection failure exception

在我们的应用程序中,我们希望一次只能运行一个oozie工作流。我们面临与第一个工作流中断的连接问题,并且由于第二个工作流开始。在YARN上,第一个工作流程仍在运行。我们收到以下错误消息:E0603:E0603:SQLerrorinoperation,Thelastpacketsuccessfullyreceivedfromtheserverwas94,669,212millisecondsago.Thelastpacketsentsuccessfullytotheserverwas94,669,212millisecondsago.islongerthantheserverconfig

git - 如何将代码从边缘节点部署到 hadoop 集群以使用 Oozie 对其进行调度?

我有一个在Hadoop集群的边缘节点上运行的pyspark代码。此pyspark代码执行从特征工程到ML训练和预测的各种步骤。代码在github上,我可以将它pull到边缘节点上。可以在yarn/client或yarn/cluster模式下使用spark-submit提交代码。到目前为止一切顺利。现在我想定期安排其中一些任务:我对边缘节点有一些限制,我不能使用crontab可能最好的选择是使用Oozie提交作业。我的问题是每次我做一些修改时如何在Haddop集群上以干净/简单的方式部署代码,以便可以使用Oozie进行调度(我猜Oozie是调度的最佳选择,因为它已经安装)我可以从edge

hadoop - 并行运行 oozie 操作的任何其他选项

目前我的oozie工作流程中有6个操作,如下所示。在MainJob1完成后,所有第一个、第二个和第三个作业应该并行运行。MainJob2完成后,只有第二个和第三个作业应该并行运行。有没有可能解决上述工作流执行方式?....${executionModeeq"DEFAULT"}${executionModeeq"INVALID"}.............................................. 最佳答案 您可以将firstparalleljob、secondparalleljob和thirdparallel

hadoop - 将可选属性从主 oozie 工作流传递到子工作流

我有一个HDFS_file_path或属性需要从workflow-1传递到common_subworkflow。我还有没有该属性或HDFS_file_path的workflow-2。但是workflow-2调用common_subworkflow。在common_subworkflow中,我使用${HDFS_file_path}获取属性值。当workflow-1调用common_subworkflow时工作正常,但当workflow-2调用common_subworkflow时失败,因为HDFS_file_path在workflow-2中不存在。有什么办法可以读取动态属性(如果存在),