2016-03-22 10 views

答えて

0

RDDは不変であり、RDD上の「変換」は新しいRDDを生成するだけである。データフレームRDD周りとのようなラッパーが苦しむされているがexのためimmutablility 言った:

oldDF.registerTempTable("whatever") 

val newDF = sqlContext.sql("select field1,field2,sum(field3) as times from whatever where substring(field1,1,4)='test' group by field1,field2 having times>100").collect().saveAsParquetFile("xxx.parquet") 
+0

おかげで、私たちは、データフレームにRDDへのデータフレームに変換し、再度RDDする必要があります。このシナリオでは、多くの変換を行っているため、パフォーマンス上の理由からDataFrameを使用する利点があります。 – Shankar

+0

私がDataFrameを使用したい理由は、コンテンツをParquetファイルとして簡単に書き込むことです。 – Shankar

+0

RDDに変換する必要はありません。それは「ボンネットの下に」作られた。ちょうど新しいものにDFを変換する - あまりにもあなたがデータフレーム上で動作することができ –

関連する問題