Hive SQL: 使用 LATERAL VIEW 分割 tsh_user_id 字段
这个 SQL 语句的作用是将 tsh_user_id 字段按照逗号进行分隔,然后展开成多行数据,每行数据包含一个分隔后的元素。如果 tsh_user_id 字段的长度为 0,则使用 '0,0' 作为默认值进行分隔。LATERAL VIEW 是 HiveQL 的语法,用于将一个表格函数应用于一个表格的某一列,返回一个或多个新的列。
SELECT *
FROM table_name
LATERAL VIEW explode(split(IF(LENGTH(tsh_user_id)=0, '0,0', tsh_user_id), ',')) te AS 分隔展开
示例:
假设 table_name 表中有以下数据:
| tsh_user_id | 其他列 | |---|---| | 1,2,3 | ... | | | ... | | 4,5 | ... |
执行上述 SQL 语句后,结果如下:
| tsh_user_id | 其他列 | 分隔展开 | |---|---|---| | 1,2,3 | ... | 1 | | 1,2,3 | ... | 2 | | 1,2,3 | ... | 3 | | | ... | 0 | | | ... | 0 | | 4,5 | ... | 4 | | 4,5 | ... | 5 |
原文地址: https://www.cveoy.top/t/topic/nami 著作权归作者所有。请勿转载和采集!