как преобразовать вывод println в фрейм данных в Scala

#python #scala #apache-spark #printing #databricks

#питон #scala #apache-искра #печатание #базы данных

Вопрос:

У меня есть этот код , который генерирует список с помощью a for , я ищу вывод println , чтобы передать его в фрейм данных, чтобы иметь возможность манипулировать полученным повреждением в Scala.

 for (l lt;- ListArchive){   val LastModified: (String, String) =(l,getLastModifiedLCO(l))  println(LastModified)  }  

Выход println (LCO_2014-12-09_3.XML.gz,Tue Dec 09 07:48:30 UTC 2014) (LCO_2014-12-09_1.XML.gz,Вт 09 декабря 07:48:30 UTC 2014)

Ответ №1:

Перепишите его, чтобы сгенерировать список/последовательность, а затем превратите в фрейм данных. Что — то вроде этого:

 import spark.implicits._ val df = ListArchive.map(l =gt; (l, getLastModifiedLCO(l)))  .toDF("col1Name", "col2Name")  

Если список очень большой, то вы можете попытаться превратить его в RDD через parallelize , а затем применить аналогичное map , но оно будет выполняться распределенным способом.

Комментарии:

1. правильно, это сработало для меня