草庐IT

Divisible_by

全部标签

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子句(减去聚合字段)。

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

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

hadoop - yarn : get containers by applicationId

我想列出为特定MR作业运行容器的节点。我只有application_id。是否可以使用HadoopRESTAPI和/或通过命令行来完成? 最佳答案 这可以使用yarn来完成命令。运行yarnapplicationattempt-list获取应用尝试ID运行yarncontainer-list获取容器ID运行yarncontainer-status获取任何特定容器的主机。如果你想在bash脚本中使用它,或者想要获取具有大量容器的应用程序的每个主机,你可能想要解析出尝试/容器ID和主机,但这至少是一个开始。

hadoop - hive 中 ORDER BY 的替代方案

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

hadoop - 为什么join和group by会影响spark中的数据shuffle量

我正在使用spark,我看到当一个查询有很多连接操作并且groupbyspark需要做很多洗牌操作。我一直在寻找信息为什么会发生这种情况,但我没有找到任何具体的信息。你能帮助理解这个吗? 最佳答案 Sparkshuffles只是在集群中移动数据。因此,任何需要分区中本地不存在的数据的转换都会执行洗牌。查看连接,每个分区都需要经过整个连接的df才能完成操作,因此完成了一个洗牌,基本上将连接的df移动到每个事件分区。groupbykey也会发生同样的事情,其中​​所有相同的键都需要在同一个分区中结束,以便随机播放将它们移到那里。如您所见

api - 纱 API : Getting Yarn Aggregated Logs for application by API

我使用YARNjavaAPI而不是在终端中提交Hadoop应用程序。我正在寻找一种在应用程序完成后通过YarnAPI获取yarn聚合日志的方法。当然,这可以通过简单的命令来完成:“yarnlogs-applicationId{my_application_ID}”,但我想通过API来完成。有人知道如何使用API而不是命令行来获取这些日志吗?谢谢。 最佳答案 正如您在代码源上所做的那样https://github.com/apache/hadoop/blob/trunk/hadoop-yarn-project/hadoop-yarn/