草庐IT

json - 使用 Pig 脚本将 Json 导入 Hbase

我正在尝试编写一个允许我加载Json的pig脚本(从Elasticsearch中获取并转储到hdfs)。我已经为此苦苦挣扎了好几天,也许有人可以让我对我遇到的问题有一些了解。这是我写的一个快速pig脚本,用于从hbase读取任意修改数据,然后存储回hbase(只是为了确保一切正常)REGISTERhbase-common-1.1.1.jarREGISTER/tmp/udfs/json-simple-1.1.1.jarREGISTER/tmp/udfs/elephant-bird-hadoop-compat-4.9.jarREGISTER/tmp/udfs/elephant-bird-p

hadoop - 在 Hadoop Pig 的一个元组中查找元素,但在另一个元组中找不到元素

我有两个元组(字符串和大元组——每个都有几百万个字符串),我想在一个元组中查找元素,但不在HadoopPig中的另一个元组中查找。想知道是否有好的代码引用?示例输入,tuple1:(Hello,World,Hadoop,Pig,Stackoverflow)tuple2:(Hello,World,Hadoop,Spark,Python)示例输出,(Pig,Stackoverflow)提前致谢,林 最佳答案 这样做的一种方法是将该元组变成一袋元组,每个字符串都是一个独立的元组。然后就可以在http://datafu.incubator.

Hadoop Pig UDF 调用问题

下面的代码工作得很好,但是当我已经有两个现有的袋子时(用它们的别名,假设S1和S2代表两个现有的两个袋子),想知道如何调用UDFsetDifference来生成集合差异?我认为如果我使用我已经存在的输入包(S1和S2)手动构造一个额外的包,会产生额外的开销吗?registerdatafu-1.2.0.jar;definesetDifferencedatafu.pig.sets.SetDifference();--({(3),(4),(1),(2),(7),(5),(6)}\t{(1),(3),(5),(12)})A=load'input.txt'AS(B1:bag{T:tuple(va

java - 在 PIG 中合并多重关系

大家好我正在尝试解决这个问题我想知道是否有一个文件具有这样的属性:(id#123,event#sasa,value#abcde,time#213,userid#21321)要获得我会做的总数据:data_count=foreach(groupdataall)generatecount(data);为了获得总用户数,我会这样做:group_users=GROUPdataBYuserid;grp_all=GROUPgroup_usersALL;count_users=FOREACHgrp_allGENERATECOUNT(group_users);现在我想知道如何将它们合并到一个输出的文件

hadoop - 通过 Pig 转储中间 MR 作业数据

我对Pig的正常行为有疑问。假设我正在编写如下Pig脚本:A=LOADsomeInput;B=FILTERABY`somecondition1`;C=FILTERABY`somecondition2`;D=GROUPBBY`somecolumn1`;E=GROUPCBY`somecolumn1`;storeD;storeE;现在在这里,当Pig实际传递数据时,假设Pig创建了2个作业来执行此脚本:Job1:FiltersByCondition1andCondition2Job2:PerformstheGroupByOperation.因此Job1的输出数据被Job2用作输入;Pig是将

hadoop - pig SUM FOREACH GROUP ClassCastException : java. lang.String 无法转换为 java.lang.Number

我在hadoop中有一组URL和关联的事务时间。我正在尝试编写一个pig脚本来为我提供每个URL的总交易时间。每次尝试对事务时间求和时,我都会收到ClassCastException。我第一次尝试pig所以任何帮助表示赞赏。我不知道我做错了什么。这是一些输出:url和交易时间grunt>DESCRIBEuLogUrlsuLogUrls:{url:chararray,et:int}grunt>DUMPuLogUrls(/index.jsp,344)(/another/Access.jsp,517)(/index.jsp,5)(/another/NoAccess.jsp,4)(/index

shell - pig 剧本永远卡在心跳

我已经在一台机器上安装了cloudera5的所有组件:namenode、datanode、hue、pig、oozie、yarn、hbase...我在shell中运行以下pig脚本:sudo-uhdfspig然后在pigshell里跑data=LOAD'/user/test/text.txt'as(text:CHARARRAY);DUMPdata;脚本运行良好但是当在hue浏览器查询编辑器/Pig编辑器上运行这个脚本时,它卡住了,下面是日志:2015-09-1414:07:06,847[uber-SubtaskRunner]INFOorg.apache.pig.backend.hadoo

hadoop - Pig 如何从第一个 Job 和它的下一个 Job 传递数据

众所周知,ApachePig是一种数据流语言。如果我编写了一个Pig脚本并且Pig决定拆分并运行两个或多个作业来执行手头的任务,那么Pig如何存储它从作业1传递到作业2的数据???!!我读了Pig文档,上面写着:-“Pig分配固定数量的内存来存储包,并在达到内存限制时立即溢出到磁盘。这与Hadoop决定何时溢出组合器累积的数据的方式非常相似。"(网址:http://pig.apache.org/docs/r0.9.1/perf.html#memory-management)那么Pig是否有一个写入器,它将中间作业的输出存储在内存/RAM中以获得更好的性能(如果需要,则溢出到磁盘)然后如

hadoop - 我应该使用 PIG 从 HIVE 将数据加载到 HBase 还是有更好的方法?

我必须将数据从HIVE加载到HBase表中。我知道有多种方法可以做到这一点,例如:从HIVE生成CSV,然后使用批量加载将其转换为HFile以加载数据使用MapReduce生成HFile使用PIG脚本生成并加载HFile或者是否有可用的直接转换器?您能否通过推荐最佳方法来指导我?我们没有在这个用例中使用phoenix。 最佳答案 您可以使用HBASEintegration:CREATETABLEhbase_table_1(keyint,valuestring)STOREDBY'org.apache.hadoop.hive.hbase

hadoop - pig : Filter a string on a basis of a phrase

我想知道是否可以根据短语过滤字符串?例如,我想统计查询中出现ps3(ps3)的次数。我不确定如何不使用与“ps3”的过滤条件完全匹配,因为不知道如何在其中放置一个选项卡。到目前为止我的代码是:data=LOAD'/user/cloudera/'usingPigStorage(',')as(text:chararray);filtered_data=FILTERdataBY(textmatches'.*ps3.*')OR(text=='ps3');Res=FOREACH(GROUPfiltered_dataALL)GENERATECOUNT(filtered_data);DUMPRes;