草庐IT

pig-without

全部标签

hadoop - 如何创建一个在 pig 中嵌套包的输出模式

我正在试用PigUDF,并且一直在阅读它。虽然在线内容很有帮助,但我仍然不确定我是否了解如何创建具有嵌套包的复杂输出模式。求助,需求如下。比方说,我正在分析电子商务订单数据。一个订单中可以订购多个产品。我将产品级别数据分组到订单级别。这是我的UDF的输入。因此,包含每个订单中产品信息的订单级别的每个分组数据都是我的输入。输入模式:(grouped_at_order,{(input_column_values_at_product1_level),(input_column_values_at_product2_level)})我会在UDF中计算订单级别和产品级别的指标。例如:sum(p

hadoop - 根据条件加入并按时间范围过滤并限制为 Pig 中的第一行

我有关系A、关系B。对于A中的每一行,在关系B中可能有多个映射。说:A=(id1,type,location,gender,startDateTime)B=(id2,type,location,gender,registerStartDateTime,registerEndDateTime,value)我需要在(类型、位置和性别)和时间(startDateTime>registerStartDateTime)和(startDateTime此连接可能会从B返回具有不同值的多行。我只想选择第一个返回的行并最终输出。output=JoinAby(type,location,gender),B

hadoop - 使用 Pig/Python 检查 HDFS avro 格式的字段是否存在

我在HDFS中有一组以Avro格式存储的文件。其中一些有一个名为id:int的列,如下所示{"type":"record","name":"metric","fields":[{"name":"timestamp","type":"long"},{"name":"id","type":"long"},{"name":"metric","type":"string"},{"name":"value","type":"double"}]}我需要标记具有“id”列的文件(输出文件名)。有没有办法在Python中使用Pig/PythonUDF/Pig流或嵌入式Pig来完成它。我已经将Pytho

java - 如何在 Pig Hadoop 中以简单日期格式 ex "yyyy-MM-dd hh-MM-ss"转换长毫秒

如何将long毫秒转换为simpledate格式ex:yyyy-MM-ddhh-MM-ss在PigHadoop中exampleinput=1409051466000output="yyyy-MM-ddhh-MM-ss"在Pig脚本中。 最佳答案 谢谢krishanthy-mohanachandran。但是我在pig中有很好的脚本。我正在试用并完成。以简单的日期格式转换毫秒yyyy-MM-ddhh-MM-sspig中的脚本:curtime=milisecond-long(1409051466000)为了格式化,我可以将它转换为日期,然

hadoop - 如何在 PIG 中使用 FILTER 获取 for 循环内的匹配值?

将此视为我的输入,Input(File1):12345;1134567;12..Input(File2):11;(1,2,3,4,5,6,7,8,9)12;(9,8,7,6,5,4,3,2,1)..我想得到如下输出:Output:(1,2,3,4,5,6,7,8,9)(9,8,7,6,5,4,3,2,1)这是我尝试使用FILTER的示例代码,我遇到了一些错误。请建议我一些其他选项。data1=load'/File1'usingPigStorage(';')as(id,number);data2=load'/File2'usingPigStorage(';')as(numberInfo,

bash - Pig 0.12.0 不会使用反引号执行时区更改的 shell 命令

我在亚马逊EMR上将Hue用于PIG脚本。我想进行shell调用以将特定时区中的日期获取到一个变量中,我将使用该变量来定义用于将输出写入的输出文件夹路径。最终我想使用ifelsefi循环从一周中获取特定日期,因此时区将在命令的不同位置提及。示例脚本ts=LOAD's3://testbucket1/input/testdata-00000.gz'USINGPigStorage('\t');STOREtsINTO's3://testbucket1/$OUTPUT_FOLDER'USINGPigStorage('\t');Hue中Pig参数定义:这有效:OUTPUTFOLDER=`/bin/

hadoop - 如何将 tar.gz 中的多个文件加载到 Pig 中

场景:供应商将提供tar.gz格式的原始提要,其中包含制表符分隔格式的多个文件文件详细信息:a)OneHit等级数据b)多个查找文件c)(a)的一个头文件提要(tar.gz)将被摄取并登陆到BDP原始操作中。查询:希望将这些数据从操作原始区域加载到Pig中以进行数据质量检查过程。如何实现?文件应该提取到hadoop中供我们使用还是可用的替代方案?请指教。谢谢!注意:任何示例脚本都会更有帮助 最佳答案 引用:http://pig.apache.org/docs/r0.9.1/func.html#load-store-functions

hadoop - 使用 PIG 对多列求和

我有多个包含相同列的文件,我正在尝试使用SUM聚合两列中的值。列结构如下IDfirst_countsecond_countnamedesc11010AA_Desc12545AA_Desc13025AA_Desc22020BB_Desc24010BB_Desc如何计算first_count和second_count的总和?IDfirst_countsecond_countnamedesc16580AA_Desc26030BB_Desc下面是我写的脚本,但是当我执行它时出现错误“无法推断SUM的匹配函数,因为它们中的多个都不适合。请使用显式转换。A=LOAD'/output/*/part*

hadoop - pig @hadoop : processing local files without hdfs with multiple cores

如果我在本地模式下运行pig@hadoop(因为我不想使用hdfs),那么它会在单线程/单进程模式下处理我的脚本。如果我将hadoop设置为伪模式(hdfswithreplication=1),那么pig@hadoop不喜欢我的file:///...:traj=LOAD'file:///root/traj'USINGorg.apache.pig.piggybank.storage.CSVExcelStorage(';','NO_MULTILINE','UNIX','SKIP_INPUT_HEADER')AS(a1:chararray,a2:long,a3:long,a4:float,a

hadoop - Pig - 获取 Top n 并在 'other' 中休息

我有分组和聚合的数据,看起来像这样-DateCountryBrowserCount-----------------------2015-07-11,US,Chrome,132015-07-11,US,OperaMini,12015-07-11,US,Firefox,22015-07-11,US,IE,12015-07-11,US,Safari,1...2015-07-11,UK,ChromeMobile,10262015-07-11,UK,IE,4552015-07-11,UK,MobileSafari,47822015-07-11,UK,MobileFirefox,40...201