2016-03-22 14 views

cevap

0

RDD'ler değişmezdir ve bir RDD'de bir 'dönüşüm' yalnızca yeni bir RDD oluşturabilir. Dataframes RDD etrafında sargı olan ve bu şekilde gelen ex immutablility söyledi muzdarip:

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

Teşekkür ama RDD için DataFrame ve yeniden DataFrame için RDD dönüştürmek gerekir. Bu senaryoda, performans nedenleriyle DataFrame kullanmanın bir avantajı vardır, çünkü çok fazla dönüşüm yapıyoruz. – Shankar

+0

DataFrame kullanmak istediğim, içeriği kolayca Parquet dosyası olarak yazmaktır. – Shankar

+0

RDD'ye dönüştürmeye gerek yoktur. onun 'under-the-hood' yaptı. Sadece yeni birine df dönüşümü - çok sen dataframe üzerinde çalışabilir –