J'ai un fichier comme ceci:étincelle scala RDD/dataframe enregistrer filtré et rejeté les données
id,insert_date,name
====================
1,20170620,abc
2,20170620,xyz
1,20170621,pqr
3,20170624,huy
,20170624,stu
J'ai besoin de filtrer les enregistrements avec ids nuls. Aussi, si un identificateur est répété, j'ai besoin de sélectionner l'enregistrement avec max (insert_date).
que je fais comme ceci:
val myDF = sqlContext.read.format("com.databricks.spark.csv").option("delimiter",",")
.schema(myschema)
.load(mypath)
myDF.registerTempTable("myTable")
val myFilteredDF=sqlContext.sql("""SELECT id,max(insert_date),name
FROM myTable GROUP BY id,name""").filter("length(id) >0"
myFilteredDF.show()
Je RESULT la façon dont je voulais. Cependant, en même temps, j'ai besoin d'obtenir les enregistrements rejetés/filtrés à un autre DataFrame/RDD, pour écrire dans le fichier des enregistrements rejetés. Quelle est la meilleure solution ici. Je comprends que je peux faire le contraire de ce que je fais pour filtrer, mais qui ne ressemble pas à une meilleure solution
@mtoto merci pour la recherche, malheureusement, je ne suis pas avoir – user3124284