草庐IT

PIG_FEATURE

全部标签

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)用分号作为分隔符做同样的事情是行不通的:

hadoop - 从一个部分文件中 Sqoop 到两个表( pig 输出)

我有一个场景,我需要使用Pig加载数据并存储到hdfs中,这个结果(pig输出/部分文件数据)应该加载到两个mysql中的表使用Sqoop。Sqoop可以做到吗?任何其他解决方案。例如如果我有这样一个文件col1col2col3col4................................................Iwanttoexportcol1,col2totabletable1andcol3,col4totabletable2ofsomedatabase提前致谢。 最佳答案 我在下面的解决方案中使用了MySQL

hadoop - 将 PIG 输出存储为 Ctrl 分隔输出以导入配置单元?

如何将PIG输出存储为Ctrl-a分隔输出以存储到配置单元中? 最佳答案 为了获得预期的结果,您可以按照下面提到的过程使用以下命令存储您的关系STOREINTO''USINGPigStorage('\u0001');公开引用生成文件的配置单元表hive>CREATEEXTERNALTABLETEMP(c1INT,c2INT,c3INT,c4INT.....)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\001'LINESTERMINATEDBY'\n'STOREDASTEXTFILELOCATION''

hadoop - 如何避免Hadoop PIG和Hive中的坏记录?

您好,我是Hadoop的新手,我发现可以使用SkipBadRecord类在Javamapreduce中跳过任何输入格式的坏记录,所以我只想知道这在Pig和Hive中如何实现? 最佳答案 Hive中的错误记录处理要在hive中过滤坏记录,可以在query中开启skip模式。跳过模式的Hive配置是:SETmapred.skip.mode.enabled=true;您需要在配置单元查询之前设置上述命令。您还可以通过提供以下参数来限制配置:SETmapred.map.max.attempts=100;SETmapred.reduce.ma

hadoop - PL/SQL 能否可靠地转换为 Pig Lating 或带有 Pig Latin 和 Hive 的 Oozie 管道

我很好奇用Hadoop替换我的Oracle数据库,并且正在学习Hadoop生态系统。如果我要走这条路,我有很多PL/SQL脚本需要替换。我的印象是,通过一些努力,我能够将任何PL/SQL脚本转换/翻译成类似的PigLatin脚本。如果不仅仅是PigLatin,那么通过Oozie结合Hive和Pig。这是正确的吗? 最佳答案 虽然大多数SQL语句都可以翻译成等效的Pig和/或Hive语句,但hadoop文件系统固有的一些限制会传递给语言。主要限制是HDFS是一个一次写入,多次读取的系统。这意味着包含UPDATESQL命令或DELETE

hadoop - 从 pig 身上连续获得最大值

从pig身上获得最大值(value):学生(rollno,标记)rollno.marks124226350430535输出要求:最大分数卷号。输出:350假设A包含student表的值如何获取rollno。满分我试过这个:B=GROUPABYrollnoC=foreachBgenerategroup,max(A.marks);但是它导致所有记录都可以在pig中帮助我 最佳答案 最易读的方法是ORDER您的数据,然后选择带有LIMIT1的顶部记录:A=LOAD'input'AS(rollno,marks);B=ORDERABYmark