hive的pivot函数
Hive的Pivot函数
Pivot函数是Hive中用来将行数据转换为列数据的函数。它是一种优雅的方式,用于从源表中提取和转换数据以匹配目标表的格式。
主要的Pivot函数有两个,一个是Pivot函数,另一个是PivotLateral函数。它们的主要区别是Pivot函数可以将行数据转换为列数据,而PivotLateral函数可以将行数据转换为矩阵(以一维数组的形式表示)。
要使用Pivot函数,首先需要构造要倒置的查询语句,该语句指定要倒置的字段以及用来构造列名的值。
格式如下:
PIVOT (sum(attr_name) , attribute_list)
其中,sum(attribute_name)指定要对源表中指定的属性字段进行求和,attribute_list指定要
hive 字符串转数组倒置的字段,该字段的值将作为新列的列名。
例如,下面的查询语句将构造一个具有3个属性字段的源表,并且使用Pivot函数将其倒转:
SELECT *
FROM
(SELECT attribute_1, attribute_2, attribute_3
FROM source_table) S
PIVOT
(sum(attribute_1)
FOR attribute_2 IN
(‘value_1’, ‘value_2’, ‘value_3’)
)
结果表将会有以下的列:Attribute_3,Value_1,Value_2,Value_3,其中Attribute_3字段是原源表中的属性字段,Value_1,Value_2和Value_3是由Pivot函数使用指定字段的值构成的新列。
Hive中的Pivot函数提供了一种强大且简洁的方法来实现行数据到列数据的转换。只要构造恰当的查询语句,就可以轻松地将源表中的数据转化为目标表的格式。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论