【发布时间】:2021-12-12 11:06:10
【问题描述】:
我正在处理 4 列
| Ref_No | Currency | Amount | Tag |
|---|---|---|---|
| EBDR001 | usd^usd^usd^usd^ | 240^300^210^500^ | DBC^ODA^ICA^DRA |
我想要这种格式的数据
| Ref_No | Currency | Amount | Tag |
|---|---|---|---|
| EBDR001 | usd | 240 | DBC |
| EBDR001 | usd | 300 | ODA |
| EBDR001 | usd | 210 | ICA |
| EBDR001 | usd | 500 | DRA |
我得到的结果
| Ref_No | Currency | Amount | Tag |
|---|---|---|---|
| EBDR001 | usd | 240 | DBC |
| EBDR001 | usd | 240 | DBC |
| EBDR001 | usd | 240 | DBC |
| EBDR001 | usd | 240 | DBC |
| EBDR001 | usd | 300 | ODA |
| EBDR001 | usd | 300 | ODA |
| EBDR001 | usd | 300 | ODA |
| EBDR001 | usd | 300 | ODA |
| EBDR001 | usd | 210 | ICA |
| EBDR001 | usd | 210 | ICA |
| EBDR001 | usd | 210 | ICA |
| EBDR001 | usd | 210 | ICA |
| EBDR001 | usd | 500 | DRA |
| EBDR001 | usd | 500 | DRA |
| EBDR001 | usd | 500 | DRA |
| EBDR001 | usd | 500 | DRA |
像这样有超过一千行不同的 Ref_No.
我使用的查询是
select Ref,ccy,amt,tag_1 from table1
lateral view explode(split(ccy,"\\^")) myTable12 as ccy
lateral view explode(split(amt,"\\^")) myTable13 as amt
lateral view explode(split(tag_1 ,"\\^")) myTable14 as tag_1
【问题讨论】:
-
问题与 MySQL 无关 - 删除错误的标签。
标签: sql arrays hive hiveql explode