當前位置:
首頁 >
hive的一些常见内置函数
發布時間:2024/8/23
35
豆豆
生活随笔
收集整理的這篇文章主要介紹了
hive的一些常见内置函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
hive行轉列
selectt1.base,concat_ws('|', collect_set(t1.name)) namefrom(selectname,concat(constellation, "," , blood_type) basefromperson_info) t1group byt1.base;hive列轉行
select movie, category_name from movie_info lateral view explode(category) table_tmp as category_name;reflect調用Java自帶函數
select reflect("java.lang.Math","max",col1,col2) from test_udf; select reflect(class_name,method_name,col1,col2) from test_udf2; select reflect("org.apache.commons.lang.math.NumberUtils","isNumber","123")窗口函數
select user_id, user_type, sales, --分組內所有行 sum(sales) over(partition by user_type) AS sales_1 , sum(sales) over(order by user_type) AS sales_2 , --默認為從起點到當前行,如果sales相同,累加結果相同 sum(sales) over(partition by user_type order by sales asc) AS sales_3, --從起點到當前行,結果與sales_3不同。 根據排序先后不同,可能結果累加不同 sum(sales) over(partition by user_type order by sales asc rows between unbounded preceding and current row) AS sales_4, --當前行+往前3行 sum(sales) over(partition by user_type order by sales asc rows between 3 preceding and current row) AS sales_5, --當前行+往前3行+往后1行 sum(sales) over(partition by user_type order by sales asc rows between 3 preceding and 1 following) AS sales_6, --當前行+往后所有行 sum(sales) over(partition by user_type order by sales asc rows between current row and unbounded following) AS sales_7 from order_detail order by user_type,sales,user_id;分析函數
select user_id,user_type,sales,RANK() over (partition by user_type order by sales desc) as r,ROW_NUMBER() over (partition by user_type order by sales desc) as rn,DENSE_RANK() over (partition by user_type order by sales desc) as dr fromorder_detail;cube聚合
selectuser_type,sales,count(user_id) as pv,GROUPING__ID from order_detail group by user_type,sales WITH CUBE ORDER BY GROUPING__ID;總結
以上是生活随笔為你收集整理的hive的一些常见内置函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: elasticsearch高级查询进阶
- 下一篇: 聚类算法篇章总结