を拒否したセーブ:スパークScalaのRDD /データフレームを濾過し、私はこのようなファイルを持っているデータ
id,insert_date,name
====================
1,20170620,abc
2,20170620,xyz
1,20170621,pqr
3,20170624,huy
,20170624,stu
は、私がnullのIDを持つレコードをフィルタする必要があります。また、idが繰り返されている場合は、max(insert_date)でレコードを選択する必要があります。
私はこのようにやっている:
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()
は私が望んでいた道を結果得ます。しかし同時に、拒否されたレコードファイルに書き込むために、却下された/フィルタリングされたレコードを別のDataFrame/RDDに取得する必要があります。ここで最高の解決策は何ですか?私は、私は除外する何の反対を行うことができます理解し、それがよりよい解決策のように見えない
、残念ながら私にはありませんhave – user3124284