我在pyspark Dataframe 中的数据下面设置了一组数据,如下所示。
-+-----------------------------------------------------------------------------------+-
| targeting_values |
-+-----------------------------------------------------------------------------------+-
| [('123', '123', '123'), ('abc', 'def', 'ghi'), ('jkl', 'mno', 'pqr'), (0, 1, 2)] |
-+-----------------------------------------------------------------------------------+-
我想4个不同的列有设置在每列如下。
-+----------------------+----------------------+-----------------------+--------------------+-
| value1 | value2 | value3 | value4 |
-+----------------------+----------------------+-----------------------+--------------------+-
| ('123', '123', '123')|('abc', 'def', 'ghi') | ('jkl', 'mno', 'pqr') | (0, 1, 2) |
-+----------------------+----------------------+-----------------------+--------------------+-
我试图通过使用Split()来实现这一点,但没有运气。我没有找到其他方法来解决这个问题。
有什么好办法吗?
2条答案
按热度按时间omhiaaxx1#
你可以通过分解数组而不是旋转它来实现
//首先创建数据:
//然后组合使用爆炸、创建和id,然后旋转它,如下所示:
nnsrf1az2#
你可以试试这个: