12.行列互转-横表竖表互相转换的高级写法

一、多行转多列(竖表转横表) 原始数据中是一个竖表,每个学生的每个学科一行数据,对其转换成一张横表,即表中学生id为主键,包含语文、数学、英语三列,列值为对应学科分数。 1、基础数据 有学生成绩表,包含学生id、学科、成绩 +-------------+----------+--------+ | student_id | subject | score | +-------------+----

11.sparksql-unpivot子句

unpivot 子句 今天给大家带来spark的一个新的知识点,UNPIVOT,这个不是函数,是一个子句。 描述 UNPIVOT 子句将多个列转换为多行,用于 SELECT 子句中。UNPIVOT 子句可以在表名或子查询之后指定。 语法 UNPIVOT ( { single_value_column_unpivot | multi_v

10.sparksql-pivot子句

pivot 子句 今天给大家带来spark的一个新的知识点,pivot,这个不是函数,是一个子句。 描述 PIVOT 子句用于数据透视。我们可以根据特定列的值获取聚合值,这些值将转变成在 SELECT 子句中使用的多个列。PIVOT 子句可以在表名或子查询之后指定。 语法 PIVOT ( { aggregate_expression

08.列转行-posexplode多列对应转行

一、基础数据 现有骑手id,订单id列表,订单配送距离列表,配送费列表,其中订单id、配送距离、配送费一一对应。 +-----------+---------------------------+----------------------------+-----------------------------+ | rider_id | order_list | distance_list |

07.列转行-explode_outer及lateral view outer

一、基础数据 现有骑手id,订单id列表,订单配送距离列表,配送费列表,其中订单id、配送距离、配送费一一对应。 +-----------+---------------------------+----------------------------+-----------------------------+ | rider_id | order_list | distance_list |

06.列转行-lateral view explode列转行

一、基础数据 现有骑手id,订单id列表,订单配送距离列表,配送费列表,其中订单id、配送距离、配送费一一对应。 +-----------+---------------------------+----------------------------+-----------------------------+ | rider_id | order_list | distance_list |

05.列转行-多列转多行(横表变竖表)

一、基础数据 有学生成绩表,包含学生id、语文、数学、英语三科成绩 +-------------+--------+---------+---------+ | student_id | yuwen | shuxue | yingyu | +-------------+--------+---------+---------+ | 001 | 89 | 95 | 77 | | 002 | 92 |

04.行转列-多行转多列(竖表转横表)

一、基础数据 有学生成绩表,包含学生id、学科、成绩 +-------------+----------+--------+ | student_id | subject | score | +-------------+----------+--------+ | 001 | 语文 | 89 | | 001 | 数学 | 95 | | 001 | 英语 | 77 | | 002 | 语文 | 9