Spark Scala - كيفية تهيئة إطار بيانات فارغ مع 1000 عمود

-1

أريد تهيئة DataFrame فارغ في Spark (Scala). يجب أن يكون عدد الأعمدة في DataFrame 1000 وعمود تسمية إضافي ، وفي البداية يجب أن يكون إطار البيانات فارغًا.

أثناء إدراج صفوف جديدة في DataFrame ، لا بد لي من إدراج القيم في أعمدة محددة فقط بناءً على قيم القائمة.

إذا كانت قائمتي val myList = List(List(4), List(2,3,6), List(5,8)...)

أريد أن يحتوي إطار البيانات الخاص بي على قيم مثل هذه:

Id col1 col2 col3 col4 col5 col6 col7 col8.... col1000 Label 1 0 0 0 1 0 0 0 0 0 x 2 0 1 1 0 0 1 0 0 0 y 3 0 0 0 0 1 0 0 1 0 x ....

أي نهج كيف يمكنني المضي قدما في هذا؟

1 إجابة

0

شرارة dataframes غير قابلة للتغيير بحيث لا يمكن إلحاق / إدراج صفوف. بدلاً من ذلك ، يمكنك فقط إنشاء جديد dataframe مع واحد row واستخدام UNIONALL وإلحاقه بالأصل وتعيينه مرة أخرى إلى الأصل مثل

var df1=Seq((1,0,1),(0,0,0)).toDF("col1","col2","col3")

val df2=Seq((1,1,1)).toDF("col1","col2","col3")

df1=df1.unionAll(df2)

اذا كنت تمتلك

scala> df1.show
+----+----+----+
|col1|col2|col3|
+----+----+----+
|   1|   0|   1|
|   0|   0|   0|
+----+----+----+

و

scala> df2.show
+----+----+----+
|col1|col2|col3|
+----+----+----+
|   1|   1|   1|
+----+----+----+

ثم يمكنك أن تفعل مثل هذا

df1=df1.unionAll(df2)

انتاج:

scala> df1.show
+----+----+----+
|col1|col2|col3|
+----+----+----+
|   1|   0|   1|
|   0|   0|   0|
|   1|   1|   1|
+----+----+----+
:مؤلف
فوق
قائمة طعام