草庐IT

hadoop - 是否可以将一个 oozie 操作的输出用于其他操作而无需从 hdfs 保存和加载?子工作流选项在这方面有用吗?

我必须编写一个运行多个pig操作的oozie工作流。这些pig操作可能相互依赖。我的意思是一个pig脚本的输出将对其他脚本有用。我想避免从hdfs进行多次保存和加载。这是如何实现的?我可以使用TEZDAG将DAG结构中的所有pig脚本组合起来,并从Oozie运行一个JavaAction吗? 最佳答案 在oozie中,你不能将一个节点的输出传递到另一个节点(不存储在HDFS中)。您可以实现PigServer(pigjavaAPI)来执行多个pig脚本。在一个使用pigserver的java程序中,它总是很容易满足您的要求。

java - 如果 hadoop mapreduce 中至少有一个拆分失败,如何停止处理其他拆分或文件本身

我有一个很大的CSV文件,比如2GB(或者说10k行)要使用map-reduce进行处理。知道每个block是128MB,我有16个block,因此有16个拆分。因为它是一个文本文件,所以我可以让多个映射器同时处理文件的不同部分(不同的拆分)。映射器计数默认为4,因此并行处理文件的4个部分要求是,如果至少有一次拆分失败,我不想进一步处理文件,或者不想将文件内容写入输出文件夹。也就是说,如果CSV的至少一行导致错误,我不希望该文件被进一步处理,也不需要它的输出。(这是因为我可以纠正错误并重新运行它)我该怎么做?我扩展了FileInputFormat以覆盖isSplittable方法并返回

hadoop - 将其他类型转换为 Impala 数组

我有一个程序可以将这样的字符串('A','B')注入(inject)到查询中。如何将它转换成像这样的阵列横向Viewcol---ABImpala与Hive中没有explode(array('A','B'))函数。我无法将这些值存储在表中,因为它在内存中并动态注入(inject)到SQL中。我需要这个的原因是我有另一个表来连接数组中的项目。谢谢 最佳答案 Impala只允许选择基本类型作为select语句的一部分,要展开数组(我猜你的表只有一个名为myarray的列),你需要做这样的事情。演示:在hive中createtabletes

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

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

hadoop - 计算 PIG 中的平均值 |和其他东西

我是PIG的新手,因此是一个绝对的初学者。我有一个.txt文件,其条目如下所示:NameMatriculationNumberGradeNameofSubjectECTSJohnWilliam0789328322.7Research5JohnWilliam0789328322.3InternationalManagement10JohnWilliam0789328321.7Math5正如您所看到的,在文本文件中有许多关于同一个人但不同科目的条目(当然)不同的成绩。我想计算每个学生的平均成绩。对于示例数据,我必须执行以下操作才能获得平均成绩:(2.7*5+2.3*10+1.7*5)/20

Primeng Growl消息手动关闭其他人未自动关闭

单击图像Growl消息的寿命为5000,如果我关闭一条消息,其他消息在5秒后不自动关闭看答案我为PrimengGrowl消息创建了一个名为Primeng-Advanced-Growl的包装器(https://www.npmjs.com/package/primeng-advanced-growl)。在此包装器的帮助下,您应该能够实现所需的行为。

hadoop - Docker 容器运行 Mesos 集群并在集群上运行其他 docker 容器(使用 Marathon)

我刚开始使用Mesos、Docker和Marathon,但我找不到任何可以回答这个特定问题的地方。我想设置一个在Docker上运行的Mesos集群——有几个互联网资源可以做到这一点,但我想在Mesos本身之上运行Docker容器。这意味着Docker容器在其他Docker容器中运行。这有什么问题吗?不知何故,它在直觉上似乎并不正确,但看起来这样做真的很方便。理想情况下,我想运行Mesos集群(使用Marathon、Chronos等),然后在其上的Docker容器中运行Hadoop。这是可能的还是标准的做事方式?对于什么是良好做法的任何其他建议,我们将不胜感激。谢谢

hadoop - Hadoop 平台中除 mahout 之外的任何其他机器学习库

我正在做一个利用机器学习算法的项目,我选择hadoop/mahout因为它可以更好地处理大数据。但是mahout只集成了很少的算法,(不包括一些算法,比如SVM)所以我想知道Hadoop平台上除了mahout还有其他机器学习库如果是这样,我对新图书馆有一些疑问是否支持分布式计算是正式版吗?有什么支持吗?非常感谢~ 最佳答案 看看ApacheHama,它们具有简单的ML算法,例如LogisticRegression或K-means聚类。以后会有更多的算法。这是他们的网站:http://hama.apache.org/

hadoop - 从其他 PC 下载 Hadoop 数据

我在一台PC上安装了Hadoopv2.6,运行的是UbuntuOS14.04。我使用Hadoop-put命令将大量非结构化数据添加到HDFS。谁能告诉我如何使用Hadoop提供的Web用户界面从另一台不在Hadoop集群中的PC下载这些数据?我可以在浏览器地址栏输入其他PC的数据(HDFS服务器的IP地址):端口号像这样:192.168.x.x:50070问题是,我无法下载数据,因为它给出错误“网页不可用”。我也试过其他浏览器,但还是不行。 最佳答案 端口50070是默认名称节点端口。您应该尝试端口14000,这是默认的HttpFS

hadoop - 如何将一行与 spark 数据集中的所有其他行进行比较?

我有一个从MySQL加载的spark数据集,我想将每一行与数据集中的所有其他行进行比较,并使用获得的结果创建一个新的数据集。有什么办法可以实现吗? 最佳答案 您可能想通过匹配行的字段来连接两个数据集。你可以像这样匹配两个数据集并加入这两个数据集valResult=DF1.join(DF2,(DF1("USER_ID")===DF2("USER_ID"))&&(DF1("SESSION_ID")===DF2("SESSION_ID"))&&(DF1("日期")===DF2("日期"))).select(DF1("USER_ID"),D