草庐IT

hadoop - pig : Splitting large large file into multiple smaller files

我需要拆分由另一个Pig脚本生成的输出部分文件,并生成每个包含1000行的组。这些组将发布到网络服务以供进一步处理。数据之间没有关系,所以我无法将数据分组到特定字段。我如何在Pig中执行此操作? 最佳答案 如果拆分与数据无关,为什么还要使用Pig或MapReduce?作为替代方案,如果我没有误解的话,您可以只使用标准拆分程序来拆分数据。例如:catpart-*|split-d-l1000-result- 关于hadoop-pig:Splittinglargelargefileintomu

hadoop - Pig 为简单的 Group by 和 count occurrence 任务抛出错误

使用Hadoop的PIG-Latin从搜索引擎日志文件中查找唯一搜索字符串的出现次数。(clickheretoviewthesamplelogfile)请帮帮我。提前致谢。pig脚本excitelog=load'/user/hadoop/input/excite-small.log'usingPigStorage()AS(encryptcode:chararray,numericid:int,searchstring:chararray);GroupBySearchString=GROUPexcitelogbysearchstring;searchStrFrq=foreachGroup

hadoop - 小数点后八位 pig

我想知道,如何在PIG中将double值四舍五入到小数点后八位。我看到了这个post但这对我没有帮助。任何想法 最佳答案 试试ROUND(1205.6753433723*100000000.0)/100000000.0;100000000f是一个Float常量,100000000.0是一个Double常量; 关于hadoop-小数点后八位pig,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

hadoop - Apache PIG - 分组依据

我希望在Pig中实现以下功能。我有一组这样的示例记录。请注意,EffectiveDate列有时为空,并且对于同一CustomerID也不同。现在,作为输出,我希望每个CustomerID有一个记录,其中EffectiveDate是最大值。因此,对于上面的示例,我希望记录突出显示如下所示。我目前使用PIG的方式是这样的:customerdata=LOAD'customerdata'AS(CustomerID:chararray,CustomerName:chararray,Age:int,Gender:chararray,EffectiveDate:chararray);--Groupc

amazon-web-services - 无法从 S3 存储桶( Parquet 文件)将数据加载到 EMR 上的 pig 中

我想从EMR上的Pig中的s3存储桶中加载数据,我的源文件格式是parquet:下面是我用过的命令:A=LOAD's3://test-1/icted/emp_db/emp_tb'USINGparquet.pig.ParquetLoader(header__change_seq:chararray,header__change_oper:chararray,header__change_mask:chararray,header__stream_position:chararray,header__operation:chararray,header__transaction_id:ch

php - 通过 PHP 的 Pig 流

我有一个Pig脚本——当前以本地模式运行——它处理一个包含类别列表的巨大文件:/root/level1/level2/level3/root/level1/level2/level3/level4...我需要通过调用存储过程将其中的每一个插入到现有数据库中。因为我是Pig的新手并且UDF接口(interface)有点令人生畏,所以我试图通过PHP脚本流式传输文件内容来完成一些事情。不过,我发现PHP脚本只能看到一半的类别行。更准确地说,我看到为ceil(pig_categories/2)返回的记录。限制为15将在通过PHP脚本流式传输后产生8个条目——最后一个将为空。--Pigscri

hadoop - 将 Hadoop Pig 输出作为 JSON 数据发布到 URL?

我有一个Pig作业,它分析日志文件并将摘要输出写入S3。我不想将输出写入S3,而是想将其转换为JSON负载并将其发布到URL。一些注意事项:此作业在AmazonElasticMapReduce上运行。我可以使用STREAM通过外部命令传输数据,然后从那里加载数据。但是因为Pig从不向外部命令发送EOF,这意味着我需要在每一行到达时对其进行POST,而且我无法对它们进行批处理。显然,这会影响性能。解决此问题的最佳方法是什么?PiggyBank或其他图书馆中有我可以使用的东西吗?或者我应该写一个新的存储适配器?谢谢你的建议! 最佳答案

java - 如何在 PIG 中获取当前时间戳

我对我正在编写的PIG脚本有疑问。如何在PIG脚本中获取当前的Unix时间戳?为此,我需要任何UDF吗?或者PIG可以为我提供当前时间戳吗?请多多指教。谢谢 最佳答案 我指出两种解决方案第一个:使用CurrentTime(),将其转换为ToUnixTime()以获取时间戳。Ex:X=load"xx".........;X1=FOREACHXGENERATEToUnixTime(CurrentTime())第二个:从命令行作为参数传递。pig-fmyscript.pig--paramtimestamp=$(date+%s)----in

hadoop - 从 PIG 包中提取元组

文件内容(test.txt):Somespecificcolumnvalue:x192.168.1.2blahblahSomespecificrowvalue:y192.168.1.3blahblahSomespecificfieldvalue:z192.168.1.4blahblahpig查询:A=LOAD'test.txt'USINGPigStorage('\t')AS(data1:chararray,data2:chararray,data3:chararray,data4:chararray,data5:chararray,data6:chararray);B=foreachA

csv - 具有不同分隔符的 Hadoop/Pig CSVExcelStorage

将以下输入文件与PiggyBank的CSVExcelStorage一起使用效果很好:Col1,Col2,Col31,2,3"1","2","3"小pig脚本REGISTER/usr/lib/pig/piggybank.jar;DEFINECSVExcelStorageorg.apache.pig.piggybank.storage.CSVExcelStorage;a=LOAD'/path/to/file.csv'USINGCSVExcelStorage()b=FOREACHaGENERATE$1;DUMPb按预期工作并返回(Col2)(2)(2)用分号作为分隔符做同样的事情是行不通的: