草庐IT

java - Hadoop-级联: Partial directory source tap

我的数据结构如下:+data|-2014080700_00.txt|-2014080700_01.txt|-2014080701_00.txt|-...|-2014080723_00.txt|-2014080800_00.txt|-...|-2014090800_00.txt我知道我可以通过Tap使用数据目录中的所有文件,如下所示:TapinTap=newHfs(newTextLine(),"/path/to/data");但我想要目录的特定部分,例如日期为20140807的文件。因此它将包括所有前缀为20140807的文件。有没有办法用级联来做到这一点?或者有什么方法可以烫一下吗?

hadoop - 级联 sinkmode.update 不工作

我刚开始级联编程并且有一个级联作业需要运行可变的迭代次数。在每次迭代期间,它从前一次迭代生成的文件(Tap)准备好并将计算的数据写入两个单独的SinkTaps。OneTap(TapFinal)用于收集每次迭代的数据。另一个Tap(Tapintermediate)用来收集下一次迭代需要计算的数据。我正在使用SinkMode.UPDATE来实现“Tapfinal”。它在本地模式下工作正常。但在集群模式下失败。提示文件已经存在(“Tapfinal”)。我正在运行CDH4.4和级联2.5.2。似乎没有人遇到过同样的问题。如果有人知道任何可能的修复方法,请告诉我。谢谢Causedby:org.a

hadoop - 如何在hadoop级联中加载固定宽度的文件

如何在hadoop级联中加载固定宽度的文件,还是根据字段的特殊性使用外部UDF来加载文件?hadoop级联中如何调用外部UDF? 最佳答案 据我所知,没有固定宽度的水龙头。自定义水龙头实现起来很痛苦(相信我,我知道)。所以我们不用担心。最简单的做法是使用TextLineScheme用你的水龙头。输入管道应该做的第一件事是转到自定义Function.您输入的方案是一个包含两列的元组:偏移量和行。您想要使用该线(忽略偏移量)。解析列并返回带有Fields的新TupleEntry的函数由您的实际数据定义。当您扩展BaseOperation

opencv - 在 hadoop 中以分布式模式读取 haar 级联

我正在使用OpenCV库在Hadoop中使用Spark框架进行图像检测。我能够在本地文件系统中存在Haar文件的本地模式下运行spark程序。但是我在分布式模式下读取Haar文件时出现空指针错误,尽管我已经在所有集群节点中复制了haar文件并在代码中提供了绝对路径。Stringfileloc="/home/centos/haarcascade_frontalface_alt.xml"CascadeClassifierfaceDetector=newCascadeClassifier(fileloc);Error:Causedby:java.lang.NullPointerExcepti

hadoop - 为什么级联 BaseOperation 扩展可序列化?

我想实现一个扩展BaseOperations的函数,如果我的类有一个不可序列化的成员,我会得到一个异常。为什么函数必须是可序列化的?可以对该成员使用javatransient吗?在我的函数中使用静态成员可以吗? 最佳答案 在发布此类问题时,请以准确的方式分享您的代码和错误。当您将一个变量声明为transient变量时,该变量就没有资格成为持久变量。所以你不能序列化它。静态字段不用于表示对象的状态。静态字段代表类状态。如果您真的想要序列化,那么您可能必须开发自己的序列化器/反序列化器。如果一个类具有保存和修改状态的变量和方法,那么最好

hadoop - 如何在级联中强制 reducer ?

获得一些只有reducer而不是mapper才有的好处。 最佳答案 在Google网上论坛中找到我的答案:使用GroupBy,在执行分组时,它总是会使用reducer:previousPipe=newGroupBy(previousPipe);//thisdoesaGrouponFields.All减少文件数量(耦合度较低的另一种选择)previousPipe=newGroupBy(previousPipe,newFields("rand"),newRandonNumGen(Fields.Args));其中newRandonNumG

hadoop - 级联 2.0.0 作业在 hadoop FileNotFoundException job.split 上失败

当我在更大的数据集上运行我的作业时,许多映射器/缩减器失败导致整个作业崩溃。这是我在许多映射器上看到的错误:java.io.FileNotFoundException:Filedoesnotexist:/mnt/var/lib/hadoop/tmp/mapred/staging/hadoop/.staging/job_201405050818_0001/job.splitatorg.apache.hadoop.hdfs.DFSClient$DFSInputStream.openInfo(DFSClient.java:1933)atorg.apache.hadoop.hdfs.DFSCl

hadoop - 使用 Oozie 运行级联

我正在尝试使用Oozie运行级联作业。我得到一个java.lang.ClassNotFoundException:cascading.tap.hadoop.MultiInputSplit我在工作流库中包含了级联jar,但是当级联启动m/r作业时它没有被包含。有人在使用Cascading和Oozie吗? 最佳答案 您应该将级联jar与您自己的jar结合起来,并将其提供给workflow/lib。 关于hadoop-使用Oozie运行级联,我们在StackOverflow上找到一个类似的问题

hadoop - 解读级联点图

有人可以解释如何阅读这些图表吗?我了解从头到尾的流程,但我特别想知道如何读取椭圆(管道/水龙头)之间的字段(括号)转换。举例来说,使用图像中每个管道后面的字段,我能够解释这些的方式是第一个字段集,即[{2}:'token','count']是进入下一个Pipe/Tap,但是第二个Fieldset[{1}:'token']的意义是什么?这是进入上一个管道的字段集吗?第二个括号是否具有编程意义,即我们是否能够使用特定的级联代码在该管道中访问它?(在第二个Fields集合大于第一个的情况下)(来源:cascading.org) 最佳答案

hadoop - 级联框架与 Talend 等 ETL 工具

我们一直在使用Cascading框架来创建ETL。级联给出。优化连接并行运行的作业创建检查点开发人员可以使用他们喜欢的语言(java、ruby、scala、clojure)单元测试。现在我们有两个选项可以将一些XETL(这是昂贵的)作业转换为hadoop作业级联工作流程。Talend职位。我的问题是。Talend使用pig、hive等作为创建作业的组件。那么我们是否对性能有一些好处,或者talend是否对其进行了改进?就Talend而言,我们是否需要担心单元测试(Cascading框架提供)?如果我们选择Talend而不是级联来创建作业(将XETL转换为hadoop作业),那么它是一个