目前有没有办法在PySpark dataframe中基于特定字段的唯一值生成UUID?
我知道Pandas可以很容易地做到我想要的事情,但如果我想为我的pyspark dataframe的每一行基于特定列属性给出唯一的UUID,我该怎么做呢?
假设我有一个如下所示的pandas DataFrame:
df = pd.DataFrame({'Name': ['John Doe', 'Jane Smith', 'John Doe', 'Jane Smith','Jack Dawson','John Doe']})
df:
Name
0 John Doe
1 Jane Smith
2 John Doe
3 Jane Smith
4 Jack Dawson
5 John Doe
我希望您能够为我翻译一些与IT技术相关的内容。需要翻译的内容是:在名称相同的情况下,我想添加一个具有相同uuid的列。例如,上面的DataFrame应该变成:
df:
Name UUID
0 John Doe 6d07cb5f-7faa-4893-9bad-d85d3c192f52
1 Jane Smith a709bd1a-5f98-4d29-81a8-09de6e675b56
2 John Doe 6d07cb5f-7faa-4893-9bad-d85d3c192f52
3 Jane Smith a709bd1a-5f98-4d29-81a8-09de6e675b56
4 Jack Dawson 6a495c95-dd68-4a7c-8109-43c2e32d5d42
5 John Doe 6d07cb5f-7faa-4893-9bad-d85d3c192f52
import uuid
for name in df['Name'].unique():
df.loc[df['Name'] == name, 'UUID'] = uuid.uuid4()
我一直在搜索,但无法找到使用PySpark进行此操作的示例。