tôi có mã python này chạy cục bộ trong một dataframe gấu trúc:Áp dụng UDFs trên GroupedData trong PySpark (với chức năng ví dụ python)
df_result = pd.DataFrame(df
.groupby('A')
.apply(lambda x: myFunction(zip(x.B, x.C), x.name))
Tôi muốn chạy này trong PySpark, nhưng gặp khó khăn trong đối phó với pyspark .sql.group.GroupedData đối tượng.
Tôi đã thử những điều sau đây:
sparkDF
.groupby('A')
.agg(myFunction(zip('B', 'C'), 'A'))
trả về
KeyError: 'A'
Tôi đoán vì 'A' không còn là một cột và tôi không thể tìm ra tương đương cho x.name .
Và sau đó
sparkDF
.groupby('A')
.map(lambda row: Row(myFunction(zip('B', 'C'), 'A')))
.toDF()
nhưng nhận được lỗi sau:
AttributeError: 'GroupedData' object has no attribute 'map'
Bất kỳ đề xuất sẽ được thực sự đánh giá cao!
'myFunction' là gì và có gì trong' sparkDF'? Vui lòng làm cho mã của bạn có thể tái sản xuất bằng cách chia sẻ tập dữ liệu mẫu, đầu ra dự kiến và mã cụ thể. Cho đến lúc đó, câu hỏi của bạn vẫn còn quá rộng. – mtoto