建设公司网站都需要什么,万网网站空间服务范围及费用,学网站建设的软件,wordpress官方中文版需求背景
有一张工程师能力表#xff0c;如#xff1a; 张三 擅长java、c、c、c#、js 李四 擅长java、go 王五 擅长css、f# 陈六 擅长as、c、java 。。。
需要统计擅长各种语言的工程师的数量#xff0c;如#xff1a; java 3 c 2 go 1
代码示例
使用LATERAL VIEW expl…需求背景
有一张工程师能力表如 张三 擅长java、c、c、c#、js 李四 擅长java、go 王五 擅长css、f# 陈六 擅长as、c、java 。。。
需要统计擅长各种语言的工程师的数量如 java 3 c 2 go 1
代码示例
使用LATERAL VIEW explode 组合模拟上述统计案例
-- 创建表A
drop table A;
CREATE TABLE A (id INT,channels STRING,partition_time STRING
)
PARTITION BY LIST( partition_time )
(PARTITION p_20221130 VALUES IN ( 20221130 ),PARTITION default
)
STORED AS ORCFILE COMPRESS;-- 示例数据插入表A
INSERT INTO A PARTITION (partition_time20221130) VALUES(1, [101, 102, 103], 20221130),(2, [102], 20221130),(3, [103], 20221130),(4, [101, 102], 20221130),(5, [101, 103], 20221130);-- 使用LATERAL VIEW explode(channels)统计channels出现的次数
SELECT channel, COUNT(*) AS count
FROM A
LATERAL VIEW explode(split(regexp_replace(channels, \\[|\\]|\\s, ), ,)) t AS channel
WHERE partition_time 20221130
GROUP BY channel;输出结果
channel count 101 3 102 3 103 3