行转列

Hive-explode[列转行]关键字使用

不羁岁月 提交于 2019-12-04 22:08:17
本文讨论 Hive explode 关键字使用, 并使用一个简单案例来验证结果. Hive 支持 array 和 map 类型, 但是如何统计 array 或 map 里的值, 一直没有找到好的方法. Pig 有行转列关键字 flatten. 查阅了很多 Hive 资料, 找到了 explode 关键字. 谨以此例来验证 Hive explode 功能. hive> create table if not exists explode_array > ( > userId string, > userName string, > tags array<string> > ) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\t' > COLLECTION ITEMS TERMINATED BY ','; OK Time taken: 0.942 seconds 数据样例: 00001 zhzhenqin 80,90 00002 hello java, 女 00003 world java,python,90 查询: hive> select * from explode_array limit 10; OK 00001 zhzhenqin ["80","90"] 00002 hello ["java"," 女"] 00003 world

sql server 2005版本及以上版本行转列函数

痴心易碎 提交于 2019-12-01 19:27:19
-- 创建表 IF OBJECT_ID('VrveisConfigKeyValue',N'U') IS NULL BEGIN CREATE TABLE [dbo].[VrveisConfigKeyValue]( [ID] [INT] IDENTITY(1,1) NOT NULL, [KeyName] [VARCHAR](100) NOT NULL, [KeyValue] [TEXT] NULL, [TypeName] [VARCHAR](100) NOT NULL, [UserID] [INT] NOT NULL, [ExField1] [INT] NULL, [ExField2] [INT] NULL, [Reserved1] [VARCHAR](500) NULL, [Reserved2] [VARCHAR](500) NULL, PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO /* * *