草庐IT

hadoop - 是否可以以将多行作为单个输入元组处理的方式使用 Pig 流式处理 (StreamToPig)?

我通过一个可执行文件在pig脚本中流式传输数据,该可执行文件为我流式传输到它的每一行输入返回一个xml片段。该xml片段恰好跨越多行,我无法控制流式传输到的可执行文件的输出关于UseHadoopPigtoloaddatafromtextfilew/eachrecordonmultiplelines?,答案是建议编写自定义记录阅读器。问题是,如果你想实现一个从文件中读取的LoadFunc,这很好用,但为了能够使用流,它必须实现StreamToPig。据我所知,StreamToPig一次只能读取一行有人知道如何处理这种情况吗? 最佳答案

hadoop - 如何生成元组? pig 的运算符(operator)

我的代码如下temp=foreachrequiredDatagenerate(recordType==3?controllingCalledNum:callingPtyNum)asServiceNumber,(recordType==3?callingPtyNum:controllingCalledNum)asDestinationNumber;这里我的代码是多余的..我可以在'?'中生成元组吗?运算符并做这样的事情,我可以进一步扁平化temp=foreachrequiredDatagenerate(recordType==3?(controllingCalledNum,calling

join - 在 Pig Latin 的几个字段上过滤和分组元组

我对在工作中使用Pig还比较陌生。我有一个巨大的表(367万个条目),其中包含字段--id、feat1:value、feat2:value...featN:value。其中id是文本,feat_i是特征名称,value是给定id的特征i的值.每个元组的特征数量可能会有所不同,因为它是稀疏表示。例如这是数据中3行的示例id1f1:23f3:45f7:67id2f2:12f3:23f5:21id3f7:30f16:8f23:1现在的任务是对具有共同特征的查询进行分组。我应该能够获得那些具有任何功能重叠的查询集。我尝试了几件事。CROSS和JOINS造成数据爆炸,reducer卡住了。我不熟

python - 元组中的元素到 Bag Pig 中的元组

我在下面有以下数据。DUMPa;(2013-12-2503:00:55,1899454055,(0958847,090119960,095V987,09518X))(2013-12-2503:02:47,1899454055,(09588,090119,0959872P,095189))(2013-12-2503:04:00,1899454055,(09588,0901199,09598720P,0951890))(2013-12-2503:04:37,1899454055,(0958,0901199,095000P,095189100))(2013-12-2503:07:12,392

hadoop - 在 pig 中分离元组的元组

我得到的结果是元组的元组形式。我需要将一个元组中的所有数据放入一列,将其他数据放入另一列。我不知道如何实现这一目标。以下是我的数据。示例:((completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed,completed),(10160-0),(20140403,20151207,20160

java - Apache Spark : In PairFlatMapFunction, 如何将元组添加回 Iterable<Tuple2<Integer, String>> 返回类型

我是新手。我一直在研究涉及两个数据集的代码。因此,我从PairFlatMapFunction开始,在其中我正在处理映射器。JavaPairRDDtrainingArray=trainingData.flatMapToPair(newPairFlatMapFunction(){publicIterable>call(Strings){//codetoformthetuplesoftypeTuple2//newTuples2}如何将元组添加回可迭代类以供缩减器(reduceByKey)处理。如有任何指点,我们将不胜感激。 最佳答案 谢谢

hadoop - 从 PIG 中的一个元组生成一组元组

我找不到任何解决方案如何根据规则在Pig中从一个元组生成一组元组:输入:((1,2,3),(a,b,c),(aaa,bbb,ccc))输出:(1,a,aaa)(2,b,bbb)(3,c,ccc)假设应该应用TOBAG和FLATTEN,但这似乎太棘手了。 最佳答案 使用zip内置函数和参数解包(“star”args):>>>x=((1,2,3),('a','b','c'),('aaa','bbb','ccc'))>>>tuple(zip(*x))((1,'a','aaa'),(2,'b','bbb'),(3,'c','ccc'))>>

hadoop - 读取带有换行符的文件作为 pig 中的元组

是否可以将记录分隔符从换行符更改为其他字符串,以便将带有换行符的文件读入pig中的单个元组。 最佳答案 是的。A=LOAD'...'USINGPigStorage(',')AS(...);//commaisthedelimeterforfieldsSETtextinputformat.record.delimiter'';//recorddelimeter,bydefaultitis`\n`.Youcanchangetoanydelimeter. 关于hadoop-读取带有换行符的文件作

hadoop - pig 中的动态元组?

我用pig的元组获取数据0,(0),(zero)1,(1,2),(first,second)我可以收到这个吗?0,0,zero1,1,first1,2,second 最佳答案 首先,我将纠正您的术语,您应该将(0)和(1,2)视为包,而不是元组。元组旨在成为表示某种实体的固定长度数据结构。例如说(姓名、地址、出生年份)。如果您有类似对象的列表,例如{(apple),(orange),(banana)},您需要一个包。不存在允许您“压缩”多个包/列表的行为。这样做的原因是从设计的角度来看,Pig将包视为无序列表,因此术语“包”而不是“

hadoop - 我如何在 Pig 中将许多 map 的元组分成不同的行

我在Pig中有一个如下所示的关系:([account_id#100,timestamp#1434,id#900],[account_id#100,timestamp#1434,id#901],[account_id#100,timestamp#1434,id#902])如您所见,我在一个元组中包含三个map对象。上面的所有数据都在关系中的第0个字段中。所以上面的数据与单个bytearray列有关。数据加载如下:data=load's3://data/data'usingcom.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad')