Hive 在配置单元中实现限制查询
根据我的要求,我必须在蜂巢中实现上限和下限。为此,我正在尝试编写类似这样的查询Hive 在配置单元中实现限制查询,hive,hiveql,Hive,Hiveql,根据我的要求,我必须在蜂巢中实现上限和下限。为此,我正在尝试编写类似这样的查询 SELECT * FROM `your_table` LIMIT 0, 5 SELECT * FROM `your_table` LIMIT 5, 5 但hive只支持1个限制,不支持上限和下限。我尝试了其他方法,通过使用RANK、ROWNUM来实现这一点,但没有成功 谁能帮我解决这个问题。提前感谢。您好,您可以使用Facebook的UDF和rownum功能 从GITHUB下载Facbook UDF 从UDF
SELECT * FROM `your_table` LIMIT 0, 5
SELECT * FROM `your_table` LIMIT 5, 5
但hive只支持1个限制,不支持上限和下限。我尝试了其他方法,通过使用RANK、ROWNUM来实现这一点,但没有成功
谁能帮我解决这个问题。提前感谢。您好,您可以使用Facebook的UDF和rownum功能 从GITHUB下载Facbook UDF 从UDF项目中创建一个jar文件 您可以从配置单元控制台中的本地路径添加jar文件
ADD JAR s3n://obfuscated-path/assets/jars/facebook-udfs-1.0.jar;
CREATE TEMPORARY FUNCTION NumberRows AS 'com.facebook.hive.udf.UDFNumberRows';
SELECT
A.product_id,
A.category,
A.product_name,
A.brand,
A.rank_score,
CAST(NumberRows(A.category) as FLOAT),
FROM (
SELECT
product_id,
category,
product_name,
brand,
A.rank_score
FROM
source_table
DISTRIBUTE BY
category
SORT BY
category, rank_score desc
) A ;
更多参考资料
您可能必须使用rank方法来实现这一点。您能否在配置单元中提供更多关于数据结构和用例的详细信息?另外,您使用的hive版本是什么?