كنت أحاول الحصول على 0.8 بالمائة من عمود بيانات واحد. حاولت بهذه الطريقة:
val limit80 = 0.8
val dfSize = df.count()
val perfentileIndex = dfSize*limit80
dfSorted = df.sort()
val percentile80 = dfSorted .take(perfentileIndex).last()
لكني أعتقد أن هذا سيفشل بالنسبة إلى إطارات البيانات الكبيرة ، حيث قد يتم توزيعها عبر العقد المختلفة.
هل هناك طريقة أفضل لحساب النسبة المئوية؟ أو كيف يمكنني الحصول على جميع صفوف dataframe في نفس الجهاز (حتى لو كان هذا مضادًا للنمط) لذا df.take(index)
سيأخذ في الاعتبار مجموعة البيانات بأكملها وليس مجرد قسم في العقدة.