草庐IT

json - 使用 Pig 将 Json 数据转换为特定的表格格式

我有以下格式的Json文件:"Properties2":[{"K":"A","T":"String","V":"M"},{"K":"B","T":"String","V":"N"},{"K":"D","T":"String","V":"O"}]"Properties2":[{"K":"A","T":"String","V":"W”"},{"K":"B","T":"String","V":"X"},{"K":"C","T":"String","V":"Y"},{"K":"D","T":"String","V":"Z"}]我想使用pig从上面提到的json格式中提取表格格式的数据:预期格式

hadoop - 使用 Apache PIG 读取多行 JSON

我有一个JSON文件,想使用ApachePig读取。我尝试使用常规的JSONLOADER,但看起来JSONLOADER仅适用于单行JSON。然后我尝试使用Elephant-Bird。但我仍然无法正确看到结果。任何人都可以提出解决方案吗?输入:{"employees":[{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"}]}注意:我不想将输入转换为单行。脚本:A=LOAD'input'USINGcom.t

hadoop - Apache PIG - 如何更改文件的标准输出名称 "part-r-00000"?

我有一个.pig脚本,它创建一个包含一些计算数据的文件。我想将输出文件命名为“result.txt”,而不是无意义的标准输出名称“part-r-00000”。我的.pig脚本中的最后一个条目是storeCinto'result'USINGPigStorage();因此,“result”是HDFS中应存储result.txt的文件夹的名称。我该怎么做? 最佳答案 part-r-XXXXX并非毫无意义,具体取决于您打算如何使用它们。如果您需要将这个pig脚本的结果加载到另一个pig脚本中,您可以这样做:A=LOAD'result'USI

hadoop - PIG 中加载的多个文件的多个输出

我的数据目录(路径:/home/admin/Desktop/data)中有50个文本文件。我的任务是扁平化(标记化)文本文件中的数据并将输出存储在50个输出文件中。以下是我为完成这项工作而建立的关系:--Thiswillloadallthe50textfiles.A=Load'/home/admin/Desktop/data'UsingPigStorage(',');--Thisrelationwillcreateeverywordasatokenandwillflattenthedata.B=FOREACHAGENERATEFLATTEN(TOKENIZE($0));STOREBin

hadoop - PIG 替换多列

我总共有大约150列,想搜索\t并用空格替换A=LOAD'db.table'USINGorg.apache.hcatalog.pig.HCatLoader();B=GROUPAALL;C=FOREACHBGENERATEREPLACE(B,'\\t','');STORECINTO'location';此输出生成所有唯一的单词作为输出。有没有更好的方法一次性替换所有列??谢谢尼维 最佳答案 您可以使用PythonUDF执行此操作。假设您有一些这样的数据,其中包含标签:数据:hitherefriend,whatsup,nothingmu

hadoop - PiG + Cassandra + Hadoop

我在Cassandra(3.7)集群上安装了Hadoop(2.7.2)。我对使用HadoopMapReduce没有任何问题。同样,我在CQLSH中创建表和键空间也没有问题。但是,我一直在尝试通过hadoop安装PIG,以便访问Cassandra中的表。(PIG的安装非常好)这就是我遇到问题的地方。我访问过很多网站,大多数要么是针对Cassandra的过时版本,要么就是含糊不清。我从该网站收集到的一件事是,我们可以使用CqlStorage/CqlNativeStorage加载访问pig中的cassandra表。但是,在最新版本中,似乎已删除此支持(自2015年起)。现在我的问题是,是否有

hadoop - Pig 命令问题 'Failed to read data from "/pigdata/student"'

在为关系运行dump命令时不返回任何记录,它给出:测试文件:学生vineet1hisham2raj3ajeet4sujit5ramesh6priya7priyanka8suresh9ritesh10计数器:Totalrecordswritten:0Totalbyteswritten:0SpillableMemoryManagerspillcount:0Totalbagsproactivelyspilled:0Totalrecordsproactivelyspilled:0但它包含一个数据,请帮我解决这个错误grunt>a=load'/pigdata/student';2016-08-0

hadoop - 根据 pig 的字段比较元组

(ABC,****,tool1,12)(ABC,****,tool1,10)(ABC,****,tool1,13)(ABC,****,tool2,101)(ABC,****,tool3,11)以上是输入数据以下是我在pig中的数据集。Schemais:Username,ip,tool,duration我想添加相同工具的持续时间输出(ABC,****,tool1,35)(ABC,****,tool2,101)(ABC,****,tool3,11 最佳答案 对持续时间使用GROUPBY和SUM。A=LOAD'data.csv'USING

hadoop - 将 DataStage 代码逆向工程到 Pig(用于 Hadoop)

我有一个数据阶段应用程序的景观,我想将其逆向工程到Pig中......而不是必须编写新的Pig代码并尝试复制数据阶段的功能。有没有人有过类似的经历?任何有关最佳方法的提示都将不胜感激。 最佳答案 您想要的是从DataStage到Pig的代码迁移。这可以通过programtransformationsystem来完成,旨在解析/分析/转换复杂的软件系统。您可以详细了解使用此类工具的问题在https://stackoverflow.com/a/3460977/120163 关于hadoop-

hadoop - pig 引用

我正在学习Hadooppig,我总是坚持引用元素。请看下面的例子。groupwordcount:{group:chararray,words:{(bag_of_tokenTuples_from_line::token:chararray)}}如果我们有嵌套的元组和包,有人能解释一下如何引用元素吗?任何有助于更好地理解嵌套引用的链接都会有很大帮助。 最佳答案 让我们做一个简单的演示来理解这个问题。假设文件“a.txt”存储在HDFS的“/tmp/a.txt”文件夹中A=LOAD'/tmp/a.txt'使用PigStorage(',')