草庐IT

orders_part

全部标签

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

sql - Hive ORDER BY 查询结果出错

我有这个查询工作:SELECTmovieid,COUNT(movieid)FROMratingGROUPBYmovieid但是当我尝试添加订单时出现错误:SELECTmovieid,COUNT(movieid)FROMratingGROUPBYmovieidORDERBYcount(movieid)DESC;我知道SQL查询适用于sqldeveloper。因为我还需要子集,所以我创建了一个嵌套循环(使用desc限制不起作用),但这也不起作用:SELECT*FROM(SELECTmovieid,COUNT(movieid)FROMratingGROUPBYmovieidORDERBYco

Hadoop MultipleOutputs 输出文件 "part-day-26"

我在mapreduce作业中遇到问题,我希望输出文件的格式为file-day-26而不是part-r-00000.我已尝试使用addNamedOutput方法来完成此操作(MultipleOutputs),但只能更改部分part.在旧的API中,我看到可以使用generateFileNameForKeyValue方法来做到这一点(MultipleTextOutputFormat),但是我不能使用旧的API,所以我想知道Hadoop的新API中是否有这样的东西。有人可以帮助我吗?谢谢。 最佳答案 尝试使用MultipleOutputF

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 - Apache PIG - 如何更改文件的标准输出名称 "part-r-00000"?

我有一个.pig脚本,它创建一个包含一些计算数据的文件。我想将输出文件命名为“result.txt”,而不是无意义的标准输出名称“part-r-00000”。我的.pig脚本中的最后一个条目是storeCinto'result'USINGPigStorage();因此,“result”是HDFS中应存储result.txt的文件夹的名称。我该怎么做? 最佳答案 part-r-XXXXX并非毫无意义,具体取决于您打算如何使用它们。如果您需要将这个pig脚本的结果加载到另一个pig脚本中,您可以这样做:A=LOAD'result'USI

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 中 ORDER BY 的替代方案

通过在hive中使用ORDERBY,它只使用单个reducer。所以ORDERBY是低效的。ORDERBY是否有可用的替代解决方案。问候,拉托 最佳答案 您可能希望结合使用DISTRIBUTEBY和SORTBY。DISTRIBUTEBY将确保具有特定值的所有键都将在同一个数据节点上结束。然后SORTBY将对每个节点上的数据进行排序。例如:SELECTa,b,cFROMtableDISTRIBUTEbyaSORTBYa,bORDERBY会将所有数据排序在一起,这就是它必须通过一个reducer的原因。

hadoop - Hive:无法在具有 100 个或更多分区列的表中插入数据错误:在最大长度为 767 的列 "PART_NAME"中

我正在使用配置单元,我需要创建一个包含“n”个普通列和100个或更多作为分区列的表,并且我能够成功创建该表。现在当我用另一个具有相同模式的表的数据加载该表并且所有列都是非分区列时,我收到这样的错误:FailedwithexceptionMetaException(message:AttempttostorevalueFailedwithexceptionMetaException(message:Attempttostorevalue"c1=v1/c2=v2/c3=v3/....c100=v100"incolumn"PART_NAME"thathasmaximumlengthof767

mysql - 一起使用 ORDER BY 和 GROUP BY

我的表看起来像这样(我正在使用MySQL):m_id|v_id|timestamp------------------------6|1|133363531734|1|133363532334|1|13336353366|1|13336353436|1|1333635349我的目标是对每个m_id取一次,并按最高时间戳排序。结果应该是:m_id|v_id|timestamp------------------------6|1|133363534934|1|1333635336我写了这个查询:SELECT*FROMtableGROUPBYm_idORDERBYtimestampDESC

mysql - 一起使用 ORDER BY 和 GROUP BY

我的表看起来像这样(我正在使用MySQL):m_id|v_id|timestamp------------------------6|1|133363531734|1|133363532334|1|13336353366|1|13336353436|1|1333635349我的目标是对每个m_id取一次,并按最高时间戳排序。结果应该是:m_id|v_id|timestamp------------------------6|1|133363534934|1|1333635336我写了这个查询:SELECT*FROMtableGROUPBYm_idORDERBYtimestampDESC