草庐IT

Cache_Group

全部标签

hadoop - 与 apache pig latin 中的 GROUP 相对?

假设我在apachepig中有以下输入:(123,((1,2),(3,4)))(666,((8,9),(10,11),(3,4)))我想将这两行转换为以下7行:(123,(1,2))(123,(3,4))(666,(8,9))(666,(10,11))(666,(3,4))即这有点像“做与GROUP相反的事情”。这在pig拉丁语中可能吗? 最佳答案 看看FLATTEN.它可以满足您可能需要的功能。但是,使用上面的符号,元组列表看起来像是一个元组。这应该是一个包才能正常工作。代替:(123,((1,2),(3,4)))(666,((8

ubuntu - 权限被拒绝 : u'/opt/cloudera/parcel-cache/CDH-5. 3.3-1.cdh5.3.3.p0.5-precise.parcel.part'

我正在尝试安装具有3个节点的hadoopcloudera集群,所有这些节点都是ubuntu12.04机器。为此,我做了以下事情。我已经在所有机器上创建了hduser,并通过以下命令授予它root权限。sudoaddgrouphadoopsudoadduser--ingrouphadoophdusersudoadduserhdusersudosudosuhduser然后在所有机器上通过以下命令为无密码ssh生成无密码key。机器详细信息:master-1ip:192.168.0.101slave-1ip:192.168.0.102slave-2ip:192.168.0.103命令:ssh

sql - HIVE SELECT 可以结合 GROUP BY 和 ORDER BY 吗?

我在Hive中做一些相对简单的查询,似乎无法在单个语句中组合GROUPBY和ORDERBY。我可以毫无问题地选择GROUPBY查询的临时表,然后使用ORDERBY在该表上进行选择,但我无法将它们组合起来在一起。例如,我有一个表a,可以执行这个查询:SELECTplace,count(*),sum(weight)fromagroupbyplace;我可以执行这个查询:createtemporarytableresult(placestring,countint,sumweightint);insertoverwritetableresultselectplace,count(*),sum

date - hive cast string to date in 'dd/MMM/yyyy' format order by and group by issue

我将日期存储为[27/Feb/2016:00:24:31+0530]。我想要27/Feb/2016中的日期格式,并且还想按它排序。我试过了this解决方案,但它以2016-02-27形式返回,并且也正确排序。SELECTTO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP(SUBSTR(time,2,11),'dd/MMM/yyyy')))ASreal_date,urlFROMcleanned_logsORDERBYreal_dateASC;为了获得所需的格式,我尝试使用date_format()函数。它在1.2.1中不可用,所以我从1.0.1切换到它。SELECT

hadoop - 带 ORDER BY 的 HIVE GROUP_CONCAT

我有一张table我期望这样的输出(将结果分组到一条记录中,group_concat应按值DESC对结果进行排序)。这是我试过的查询,SELECTid,CONCAT('{',CONCAT_WS(',',GROUP_CONCAT(CONCAT('"',key,'":"',value,'"'))),'}')ASvalueFROMtable_nameGROUPBYid我希望目标表中的值应该按源表值排序(降序)。为此,我尝试执行GROUP_CONCAT(...ORDERBYvalue)。看起来Hive不支持这个。有没有其他方法可以在配置单元中实现这一点? 最佳答案

hadoop - Hive Group by 自己加入后

各位,我们有一个要求,我们希望在使用self加入HIVE表后应用groupby子句。例如数据CUSTOMER_NAME、PRODUCT_NAME、PURCHASE_PRICEcustomer1,product1,20customer1,product2,30customer1,product1,25现在我们想通过考虑所有产品的总和以及CUSTOMER_NAME、PRODUCT_NAME的后续组结果集来获取客户(只计算价格总和后的前5名客户,子查询中不存在产品名称)selectcustomer_name,product_name,sum(purchase_price)fromcustom

hadoop - collect_set on array type with group by 在配置单元中

我有下表,其中包含id的重复项以及每个id的值数组,我想找出每个id的唯一值,该怎么做?CREATETABLEtest(idstring,valuesarray)当我运行以下命令时,它会抛出错误,因为collect_set仅支持原始类型值。selectid,collect_set(values)fromtsgroupbyid;错误:FAILED:UDFArgumentTypeExceptionOnlyprimitivetypeargumentsareacceptedbutarraywaspassedasparameter1. 最佳答案

java - 如何为 group by 编写 pig 代数 udf

我想编写一个pig代码来执行分组并生成31个字段的总和,但在此之前我需要做一些自定义处理,为此我编写了一个eval函数。我想如果我可以将GROUP和SUM操作包含到UDF中,我可以让它运行得更快。要做到这一点,我可以使用代数UDF如果是,我的inital()、intermed()和final()的返回模式会是什么样子,如果不是,我还能如何实现它。下面是我的代码,谢谢。a=LOAD'./a'usingPigStorage('|')AS(val:int,grp1,grp2,amt1:long,amt2:long,amt3...amt31:long);b=FOREACHaGENERATEmy

sql - Hive 查询在 group by 期间根据另一列选择一列

那里有类似的问题,但它们的解决方案并不能完全解决我的问题。考虑下表:idtypetime1a11a21b32b12b2我要的是时间最小的id和那个时间关联的type,所以结果应该是:idtypetime1a12b1(如果不同类型有时间上的关系,可以选择任何类型)我当前的查询如下所示:SELECTid,type,min(time)FROMtGROUPBYid,type;未能解决重复类型问题。有没有我可以做的查询来实现这一点?非常感谢 最佳答案 代替groupby,使用row_number():selectt.*from(selectt

sql - SELECT 子句中不存在聚合函数时的 GROUP BY 行为

我有一个表emp,其结构和数据如下:namedeptsalary---------------Jacka2Jilla1Tomb2Fredb1当我执行以下SQL时:SELECT*FROMempGROUPBYdept我得到以下结果:namedeptsalary---------------Jilla1Fredb1服务器根据什么决定返回Jill和Fred并排除Jack和Tom?我正在MySQL中运行此查询。注意1:我知道查询本身没有意义。我正在尝试调试“GROUPBY”场景的问题。我正在尝试了解此目的的默认行为。注意2:我习惯于编写与GROUPBY子句相同的SELECT子句(减去聚合字段)。