2016-03-25 39 views
1

Ben DATA SET parke veri okumak nasıl DataframeParkeden bir DataSet'i nasıl oluştururum?

DataFrame addressDF = sqlContext.read().parquet(addressParquetPath); 

bir parke veri okumak için aşağıdaki kodu var?

Enkoder parametresi ne içerir? Ayrıca, bir özellik sınıfı oluşturmak ve sonra bunu geçmek zorundayım mı?

cevap

0

T türünde Encoder, Spark'e, T örneklerinin dâhili Spark temsilciliğinden nasıl kodlanabileceğini ve ~ kodlanabildiğini söyleyen sınıftır. Sınıfın şemasını ve sınıfınızı yansıma yoluyla oluşturmak için kullanılan ClassTag skalasını içerir.

Kodunuzda, Dataset'i herhangi bir T türü üzerinde uzmanlaşmazsınız, bu yüzden sizin için bir Enkoder oluşturamıyorum, ancak size örnek verebilmem için Databricks Spark documentation'dan bir örnek verebilirim. Her şeyden önce , en biz DateSet yüklemek istediğiniz sınıfı University yapalım:

public class University implements Serializable { 
    private String name; 
    private long numStudents; 
    private long yearFounded; 

    public void setName(String name) {...} 
    public String getName() {...} 
    public void setNumStudents(long numStudents) {...} 
    public long getNumStudents() {...} 
    public void setYearFounded(long yearFounded) {...} 
    public long getYearFounded() {...} 
} 

Şimdi University bir Java Bean ve Spark Encoders kütüphane fonksiyonu bean Java Beans için kodlayıcı oluşturmak için bir yol sağlar :

daha sonra birinci (yedek olan) bir DataFrame içine yüklemeden parke University içeren bir veritabanı okumak için kullanılabilir
Encoder<University> universityEncoder = Encoders.bean(University.class) 

:

ve şimdi schools bir parke dosyasından okunan bir Dataset<University> numarasıdır.

İlgili konular