SparkSession

Veri Kümesi ve DataFrame API'siyle Spark programlamaya giriş noktası. SparkSession, DataFrame'ler oluşturmak, DataFrame'leri tablo olarak kaydetmek, tablolar üzerinde SQL yürütmek, önbellek tabloları ve parquet dosyalarını okumak için kullanılabilir.

Sözdizimi

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()

Özellikler

Mülkiyet Açıklama
version Bu uygulamanın üzerinde çalıştığı Spark sürümü.
conf Spark için çalışma zamanı yapılandırma arabirimi.
catalog Kullanıcının temel alınan veritabanlarını, tabloları, işlevleri vb. oluşturabileceği, bırakabileceği, değiştirebileceği veya sorguladığı arabirim.
udf UDF kaydı için bir UDFRegistration döndürür.
udtf UDTF kaydı için bir UDTFRegistration döndürür.
dataSource Veri kaynağı kaydı için bir DataSourceRegistration döndürür.
profile Performans/bellek profili oluşturma için bir Profil döndürür.
sparkContext Temel alınan SparkContext'i döndürür. Yalnızca klasik mod.
read Verileri DataFrame olarak okumak için kullanılabilecek bir DataFrameReader döndürür.
readStream Veri akışlarını akış DataFrame olarak okumak için kullanılabilecek bir DataStreamReader döndürür.
streams Tüm etkin akış sorgularının yönetilmesine izin veren bir StreamingQueryManager döndürür.
tvf Tablo değerli işlevleri (TVF' ler) çağırmak için tableValuedFunction döndürür.

Methods

Yöntem Açıklama
createDataFrame(data, schema, samplingRatio, verifySchema) RDD, liste, pandas DataFrame, numpy ndarray veya pyarrow Tablosundan DataFrame oluşturur.
sql(sqlQuery, args, **kwargs) Verilen sorgunun sonucunu temsil eden bir DataFrame döndürür.
table(tableName) Belirtilen tabloyu DataFrame olarak döndürür.
range(start, end, step, numPartitions) bir aralıktaki öğeleri içeren adlı idtek bir LongType sütununa sahip bir DataFrame oluşturur.
newSession() Ayrı SQLConf, kayıtlı geçici görünümler ve UDF'ler ile yeni bir SparkSession döndürür, ancak paylaşılan SparkContext ve tablo önbelleğini döndürür. Yalnızca klasik mod.
getActiveSession() Geçerli iş parçacığı için etkin SparkSession döndürür.
active() Geçerli iş parçacığı için etkin veya varsayılan SparkSession döndürür.
stop() Temel alınan SparkContext'i durdurur.
addArtifacts(*path, pyfile, archive, file) yapıtları istemci oturumuna ekler.
interruptAll() Sunucuda çalışmakta olan bu oturumun tüm işlemlerini kesintiye uğratır.
interruptTag(tag) Verilen etiketle bu oturumun tüm işlemlerini kesintiye uğratır.
interruptOperation(op_id) Verilen operationId ile bu oturumun bir işlemini kesintiye uğratır.
addTag(tag) Bu oturumda bu iş parçacığı tarafından başlatılan tüm işlemlere atanacak bir etiket ekler.
removeTag(tag) Bu iş parçacığı tarafından başlatılan işlemler için daha önce eklenen bir etiketi kaldırır.
getTags() Şu anda bu iş parçacığı tarafından başlatılan tüm işlemlere atanacak şekilde ayarlanmış etiketleri alır.
clearTags() Geçerli iş parçacığının işlem etiketlerini temizler.

Yapıcı

Yöntem Açıklama
config(key, value) Yapılandırma seçeneğini ayarlar. Seçenekler hem SparkConf hem de SparkSession'ın kendi yapılandırmasına otomatik olarak yayılır.
master(master) Bağlanacak Spark ana URL'sini ayarlar.
remote(url) Spark Connect aracılığıyla bağlanmak için Spark uzak URL'sini ayarlar.
appName(name) Spark web kullanıcı arabiriminde gösterilecek olan uygulama için bir ad ayarlar.
enableHiveSupport() Kalıcı bir Hive meta veri deposuna bağlantı da dahil olmak üzere Hive desteğini etkinleştirir.
getOrCreate() Mevcut bir SparkSession alır veya mevcut sparkssion yoksa, bu oluşturucuda ayarlanan seçeneklere göre yeni bir SparkSession oluşturur.
create() Yeni bir SparkSession oluşturur.

Örnekler

spark = (
    SparkSession.builder
        .master("local")
        .appName("Word Count")
        .config("spark.some.config.option", "some-value")
        .getOrCreate()
)
spark.sql("SELECT * FROM range(10) where id > 7").show()
+---+
| id|
+---+
|  8|
|  9|
+---+
spark.createDataFrame([('Alice', 1)], ['name', 'age']).show()
+-----+---+
| name|age|
+-----+---+
|Alice|  1|
+-----+---+
spark.range(1, 7, 2).show()
+---+
| id|
+---+
|  1|
|  3|
|  5|
+---+