Udostępnij za pośrednictwem


SparkSession

Punkt wejścia do programowania Platformy Spark przy użyciu interfejsu API zestawu danych i ramki danych. Platforma SparkSession może służyć do tworzenia ramek danych, rejestrowania ramek danych jako tabel, wykonywania sql w tabelach, tabel pamięci podręcznej i odczytywania plików parquet.

Składnia

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()

Właściwości

Majątek Opis
version Wersja platformy Spark, na której jest uruchomiona ta aplikacja.
conf Interfejs konfiguracji środowiska uruchomieniowego dla platformy Spark.
catalog Interfejs, za pomocą którego użytkownik może tworzyć, usuwać, zmieniać lub wykonywać zapytania dotyczące bazowych baz danych, tabel, funkcji itp.
udf Zwraca funkcję UDFRegistration dla rejestracji funkcji zdefiniowanej przez użytkownika.
udtf Zwraca wartość udTFRegistration dla rejestracji udTF.
dataSource Zwraca wartość DataSourceRegistration na potrzeby rejestracji źródła danych.
profile Zwraca profil na potrzeby profilowania wydajności/pamięci.
sparkContext Zwraca bazowy element SparkContext. Tylko tryb klasyczny.
read Zwraca element DataFrameReader, który może służyć do odczytywania danych jako ramki danych.
readStream Zwraca element DataStreamReader, który może służyć do odczytywania strumieni danych jako ramki danych przesyłania strumieniowego.
streams Zwraca element StreamingQueryManager, który umożliwia zarządzanie wszystkimi aktywnymi zapytaniami przesyłania strumieniowego.
tvf Zwraca funkcję TableValuedFunction do wywoływania funkcji o wartości tabeli (TVFs).

Methods

Metoda Opis
createDataFrame(data, schema, samplingRatio, verifySchema) Tworzy ramkę danych na podstawie RDD, listy, ramki danych pandas, numpy ndarray lub tabeli pyarrow.
sql(sqlQuery, args, **kwargs) Zwraca ramkę danych reprezentującą wynik danego zapytania.
table(tableName) Zwraca określoną tabelę jako ramkę danych.
range(start, end, step, numPartitions) Tworzy ramkę danych z pojedynczą kolumną LongType o nazwie id, zawierającą elementy w zakresie.
newSession() Zwraca nową usługę SparkSession z oddzielnymi elementami SQLConf, zarejestrowanymi widokami tymczasowymi i funkcjami UDF, ale udostępnioną usługą SparkContext i pamięcią podręczną tabel. Tylko tryb klasyczny.
getActiveSession() Zwraca aktywną wartość SparkSession dla bieżącego wątku.
active() Zwraca aktywną lub domyślną wartość SparkSession dla bieżącego wątku.
stop() Zatrzymuje bazowy element SparkContext.
addArtifacts(*path, pyfile, archive, file) Dodaje artefakty do sesji klienta.
interruptAll() Przerywa wszystkie operacje tej sesji aktualnie uruchomionej na serwerze.
interruptTag(tag) Przerywa wszystkie operacje tej sesji przy użyciu danego tagu.
interruptOperation(op_id) Przerywa operację tej sesji przy użyciu podanego identyfikatora operationId.
addTag(tag) Dodaje tag do przypisania do wszystkich operacji uruchomionych przez ten wątek w tej sesji.
removeTag(tag) Usuwa tag wcześniej dodany dla operacji uruchomionych przez ten wątek.
getTags() Pobiera tagi, które mają być obecnie przypisane do wszystkich operacji uruchomionych przez ten wątek.
clearTags() Czyści tagi operacji bieżącego wątku.

Budowniczy

Metoda Opis
config(key, value) Ustawia opcję konfiguracji. Opcje są automatycznie propagowane do własnej konfiguracji platformy SparkConf i platformy SparkSession.
master(master) Ustawia główny adres URL platformy Spark do nawiązania połączenia.
remote(url) Ustawia zdalny adres URL platformy Spark, aby nawiązać połączenie za pośrednictwem programu Spark Connect.
appName(name) Ustawia nazwę aplikacji, która będzie wyświetlana w internetowym interfejsie użytkownika platformy Spark.
enableHiveSupport() Umożliwia obsługę technologii Hive, w tym łączność z trwałym magazynem metadanych Hive.
getOrCreate() Pobiera istniejącą platformę SparkSession lub, jeśli jej nie ma, tworzy nową na podstawie opcji ustawionych w tym konstruktorze.
create() Tworzy nową platformę SparkSession.

Examples

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|
+---+