配置单元posexplodeMap数据类型

f2uvfpb9  于 2021-06-26  发布在  Hive
关注(0)|答案(0)|浏览(230)

我的数据结构如下:

ID       purchase_name        purchase_id
A001    {A: a}                {One: 1}
A002    {A: a, B: b}          {One: 1, Two, 2}
A003    {C: a}                {Three: 1}

这样想:{a,b,c…}是品牌名称(例如耐克,阿迪达斯…){a、 b、c……}是品牌下的类别(衬衫、短裤、鞋子……)(一、二、三……}是品牌名称的内部id,(1、2、3……)是类别名称的内部id。现在我想把它分解成:

ID      Brand_name Brand_id Category_name Category_id
A001    A          One      a             1
A002    A          One      a             1
A002    B          Two      b             2
A003    C          Three    a             1

如果只有一个Map栏要分解,例如购买名称,我可以使用分解生成品牌名称栏和类别名称栏。但是,我尝试使用posexplode来获取位置变量,以便消除为a001生成的多行,但是我发现posexplode只适用于数组,而不适用于map数据类型。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题