Мне нужно разделить мой набор данных на разные подмножества на основе типов данных.
В Pandas мы можем сделать это с помощью df.select_dtypes, я хочу реализовать это в Spark Scala.Может кто-нибудь, пожалуйста, помогите.
Например, ниже мой набор данных: Набор данных
Я хочу разделить набор данных на основе типов данных на Float и String.
Мой конечный вывод должен быть примерно таким, с двумя разными фреймами данных с одинаковыми типами данных. Подмножество Dataframe только с плавающими значениями
Подмножество Dataframe только с строковыми значениями
**** Примечание: 1) У нас уже естьПакет Pandas в PySpark, но я хочу реализовать в Spark Scala.2) Если вы также можете помочь в том, как разделить столбцы с различными типами данных DATE, это будет действительно полезно ****
Любая помощь приветствуется, спасибо
Ниже приведен мой код, где яЯ пытаюсь разделить строки, числа и даты на разные фреймы данных на основе их типов данных:
+---+------+----------+---+----------+------+-------+
|Sno| Name| DOB|age| jdate|Salary|Country|
+---+------+----------+---+----------+------+-------+
| 1|Charan|1995-03-13| 23|2017-08-23| 34873| CA|
| 2| Arjun|1996-03-23| 33|2016-08-23| 36777| USA|
| 3| Ram|1994-06-13| 19|2012-12-12| 24873| UK|
| 4| Ravi|1997-04-13| 30|2019-08-23| 97853| CA|
| 5| Indra|1999-03-13| 23|2000-08-23| 64773| USA|
| 6| Rajni|1993-03-13| 23|2017-09-23| 67873| UK|
+---+------+----------+---+----------+------+-------+
val data = sc.textFile("test.txt")
val header = data.first()
val datawh = data.filter(x => x != header)
case class Data(Sno:Integer, Name:String, DOB:String, age:Integer, jdate:String, Salary:Int, Country:String )
val idata = datawh.map(rec => { var d = rec.split('|');
(d(0).toInt,d(1).toString, d(2).toString, d(3).toInt, d(4).toString,d(5).toInt, d(6).toString)
})
var dataDF = idata.map(x => Data(x._1, x._2, x._3, x._4, x._5, x._6, x._7)).toDF()
Какой код должен быть записан под этим, чтобы разделить данные столбца на отдельные наборы данных или фреймы данных на основе типов данных.