Python Listesinden Spark RDD ve Dataframe Oluşturmak
Zaman zaman Python listesinden PySpark Dataframe oluşturmamız gerekebiliyor. En azından benim gerekiyor. Bu kısa yazımızda bunu gerçekleştireceğiz. Önce 9 insanın aylık ücretlerini temsil eden Python listemizi oluşturuyoruz. Bu çalışmada Spark 1.6 kullanılmıştır.
ucret =[2000.00,3750.00,1000.00,4800.00,4800.00,0.00,4800.00,0.00,14500.00]
Python listesinden Spark RDD oluşturalım
ucretRDD = sc.parallelize(ucret)
Kontrol edelim
ucretRDD.take(9)
[2000.0, 3750.0, 1000.0, 4800.0, 4800.0, 0.0, 4800.0, 0.0, 14500.0]
Şema oluşturalım. Spark Dtaframe ile RDD arasındaki en büyük farkalrdan birisi Dataframe’in bir şemaya sahip olmasıdır. Yani en basit anlamıyla sütun ismi ve veri türünün tutulduğu bir veri yapısı şema olarak kullanılmaktadır. Biz RDD’den dataframe oluştururken bu şemayı da parametre olarak kullanmak zorundayız.
from pyspark.sql.types import StructType from pyspark.sql.types import StructField from pyspark.sql.types import FloatType schema = StructType([StructField("maas", FloatType(), True)])
Şemayı oluşturduk. Listemiz tek sütuna dönüşeceği için nitelik ismine maas dedik.
ucretDF = sqlContext.createDataFrame(ucretRDD, schema) ucretDF.printSchema()
root |-- maas: float (nullable = true)
Gördüğümüz gibi ucretDF adında bir dataframe oluşturduk. Kontrol edelim:
type(ucretDF)
pyspark.sql.dataframe.DataFrame
ucretDF.show()