草庐IT

diffie-hellman-group

全部标签

hadoop - Hive group by with cube 和 group by 在同一个查询中

假设我正在观察表架构如下的超速事​​故:createtablespeeding_data(date_of_occurrencedate,yearint,makestring,modelstring,speedint);我想观察这些特征的不同组合下的平均速度,但希望它始终按date_of_occurrence分组,例如可能是这样的selectdate_of_occurrence,year,make,model,avg(speed)fromspeeding_datagroupbydate_of_occurrencegroupbyyear,make,modelwithcube;只是想知道在h

hadoop - 配置单元 : group column based on max value

我有一个包含字段的表datevalue10-02-19002309-05-19012210-03-19001010-02-190124....我必须返回每年的最大值即,190023190124我尝试了以下查询,但得到了错误的答案。SELECTYEAR(FROM_UNIXTIME(UNIX_TIMESTAMP(date,'dd-mm-yyyy')))asdate,MAX(value)FROMtebGROUPBYdate;有人可以建议我查询吗? 最佳答案 选项1selectyear(from_unixtime(unix_timestam

hadoop - Hive中Group By对分区列的性能

我有一个包含4列的表,其中col4作为Hive中的分区列。这是一个巨大的表,每5小时插入约900万行。我有一个限制,我不能更改此表的设计,因为它也用于其他报告。CREATEEXTERNALTABLEtestdb.table1(col1string,col2int,col3int)PARTITIONEDBY(col4string)ROWFORMATDELIMITEDSTOREDASTEXTFILELOCATION'/path/to/input/';对于其中一个用例,我正在尝试创建一个查找表来识别col4中每个值的一些数据点,例如selectcol1,col4fromtestdb.tabl

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

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