我正在使用databricks,并有一个spark dataframe如下:
| 伊达|国际识别系统|模式| mode |
| --|--|--| ------------ |
| 公司简介|TRHRYR-365|全部| all |
| 公司简介|特雷特-123|一些| some |
我想根据每个字典中的fname在dataframe中创建新列(name 1,name 2,name 3,name 4-每个都成为dataframe中的新列),然后关联的值是该列的数据。
我尝试了各种方法,比如将数据转换为json,但似乎仍然无法让它工作。我希望能够使用PySpark完成此操作,然后删除数据列,因为不再需要此列。
2条答案
按热度按时间vybvopom1#
你试过使用一个udf来收集每个键的值吗?举例来说:
字符串
j8yoct9x2#
我通过将spark数据框转换为sql视图,然后运行下面的sql代码来解决这个问题。
首先,从dataframe创建一个视图:
字符串
然后使用SQL创建一个新的spark dataframe:
型
不是最有效的方法,但结果完全符合我的要求。