PySpark ile Big Data Temelleri
Upendra Devisetty
Science Analyst, CyVerse
PySpark SQL, yapılandırılmış veri için bir Spark kütüphanesidir. Veri ve hesaplama yapısı hakkında daha fazla bilgi sağlar
PySpark DataFrame, adlandırılmış sütunlara sahip değiştirilemez, dağıtık bir veri koleksiyonudur
Hem yapılandırılmış (örn. ilişkisel veritabanı) hem de yarı yapılandırılmış veriyi (örn. JSON) işlemek için tasarlanmıştır
DataFrame API; Python, R, Scala ve Java’da mevcuttur
PySpark’ta DataFrame’ler hem SQL sorgularını (SELECT * from table) hem de ifade yöntemlerini (df.select()) destekler
SparkContext, RDD oluşturmada ana giriş noktasıdır
SparkSession, Spark DataFrame’lerle etkileşim için tek giriş noktasıdır
SparkSession; DataFrame oluşturma, DataFrame kaydetme ve SQL sorguları çalıştırmada kullanılır
PySpark kabuğunda SparkSession, spark olarak bulunur
PySpark’ta DataFrame oluşturmanın iki yöntemi
Var olan RDD’lerden, SparkSession’ın createDataFrame() yöntemiyle
Çeşitli veri kaynaklarından (CSV, JSON, TXT), SparkSession’ın read yöntemiyle
Şema, veriyi tanımlar ve sorgu iyileştirmesine yardımcı olur
Şema; sütun adı, veri türü, boş değerler vb. bilgileri sağlar
iphones_RDD = sc.parallelize([
("XS", 2018, 5.65, 2.79, 6.24),
("XR", 2018, 5.94, 2.98, 6.84),
("X10", 2017, 5.65, 2.79, 6.13),
("8Plus", 2017, 6.23, 3.07, 7.12)
])
names = ['Model', 'Year', 'Height', 'Width', 'Weight']
iphones_df = spark.createDataFrame(iphones_RDD, schema=names)type(iphones_df)
pyspark.sql.dataframe.DataFrame
df_csv = spark.read.csv("people.csv", header=True, inferSchema=True)
df_json = spark.read.json("people.json")
df_txt = spark.read.txt("people.txt")
Dosya yolu ve iki isteğe bağlı parametre
İki isteğe bağlı parametre
header=True, inferSchema=TruePySpark ile Big Data Temelleri