我有一张这样的table。日期(字符串)、路径(字符串)、转换(int)
|------------|------------|---------------------|-------------|
| Date | cust_id | Path | Conversions |
|------------|------------|---------------------|-------------|
| 2020-01-01 | 1234 | page1, page2, page3 | 1 |
| 2020-01-01 | 4567 | page5, page4, page2 | 0 |
| 2020-01-01 | 8910 | page4, page3, page1 | 2 |
|------------|------------|---------------------|-------------|
我要做的是将path字段分解成行,同时将转换数保持为同一行,用null填充其余的行,请参见下面的内容。
|------------|------------|-------|-------------|
| Date | cust_id | Path | Conversions |
|------------|------------|-------|-------------|
| 2020-01-01 | 1234 | page1 | 1 |
| 2020-01-01 | 1234 | page2 | null |
| 2020-01-01 | 1234 | page3 | null |
| 2020-01-01 | 4567 | page5 | 0 |
| 2020-01-01 | 4567 | page4 | null |
| 2020-01-01 | 4567 | page2 | null |
| 2020-01-01 | 8910 | page4 | 2 |
| 2020-01-01 | 8910 | page3 | null |
| 2020-01-01 | 8910 | page1 | null |
|------------|------------|-------|-------------|
不幸的是,当我以后查看explode时,我得到了所有行上重复的转换数。
|------------|------------|-------|-------------|
| Date | cust_id | Path | Conversions |
|------------|------------|-------|-------------|
| 2020-01-01 | 1234 | page1 | 1 |
| 2020-01-01 | 1234 | page2 | 1 |
| 2020-01-01 | 1234 | page3 | 1 |
| 2020-01-01 | 4567 | page5 | 0 |
| 2020-01-01 | 4567 | page4 | 0 |
| 2020-01-01 | 4567 | page2 | 0 |
| 2020-01-01 | 8910 | page4 | 2 |
| 2020-01-01 | 8910 | page3 | 2 |
| 2020-01-01 | 8910 | page1 | 2 |
|------------|------------|-------|-------------|
有什么想法吗?
1条答案
按热度按时间gstyhher1#
如果你需要的话
Conversions
要仅为第一个数组元素填充,请使用posexplode
如果位置=0,则赋值,否则为空: