我有如下数据
|-----------|-------|-------|
| grade |lecture| count |
|-----------|-------|-------|
| freshman | eng1 | 3 |
|-----------|-------|-------|
| freshman | eng2 | 4 |
|-----------|-------|-------|
| freshman | eng3 | 5 |
|-----------|-------|-------|
| senior | eng2 | 4 |
|-----------|-------|-------|
| senior | eng3 | 4 |
|-----------|-------|-------|
...我想创建一个以 "lecture "为键,以 "count "为值的map,怎样才能得到如下的输出?
|-----------|----------------------------|
| grade | lecture per count |
|-----------|----------------------------|
| freshman | {eng1:3, eng2:4, eng3:5} |
|-----------|----------------------------|
| senior | {eng2:4, eng3:4} |
|-----------|----------------------------|
1条答案
按热度按时间brtdzjyr1#
如果你能接受 "count "是一个 "字符串",你可能可以使用hive的 "str_to_map() "函数来获得一个所需的 "map",这将需要几个初步的步骤,以它所接受的方式来重新格式化列值。
输出。
否则,你就得写自己的udaf或者使用第三方构建的现有udaf,至少在jira-4966解决之前是这样的(虽然7年后这种可能性很低)。