Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Základní třída pro zdroje dat.
Tato třída představuje vlastní zdroj dat, který umožňuje čtení z a/nebo zápisu do ní. Zdroj dat poskytuje metody pro vytváření čtenářů a zapisovačů pro čtení a zápis dat v uvedeném pořadí. Alespoň jedna z metod reader() nebo writer() musí být implementována libovolnou podtřídou, aby byl zdroj dat čitelný nebo zapisovatelný (nebo obojí).
Po implementaci tohoto rozhraní můžete načíst zdroj dat pomocí spark.read.format(...).load() a uložit data pomocí df.write.format(...).save().
Další informace najdete v tématu Vlastní zdroje dat PySpark.
Syntaxe
from pyspark.sql.datasource import DataSource
class MyDataSource(DataSource):
@classmethod
def name(cls):
return "my_data_source"
Parametry
| Parameter | Typ | Description |
|---|---|---|
options |
slovník | Slovník nerozlišující malá a velká písmena představující možnosti pro tento zdroj dat |
Methods
| Metoda | Description |
|---|---|
name() |
Vrátí řetězec představující název formátu tohoto zdroje dat. Ve výchozím nastavení vrátí název třídy. Přepsání pro zadání přizpůsobeného krátkého názvu |
schema() |
Vrátí schéma zdroje dat jako StructType řetězec DDL. Pokud není implementováno a uživatel neposkytuje žádné schéma, vyvolá se výjimka. |
reader(schema) |
DataSourceReader Vrátí instanci pro čtení dat. Vyžaduje se pro čitelné zdroje dat. |
writer(schema, overwrite) |
DataSourceWriter Vrátí instanci pro zápis dat. Vyžaduje se pro zapisovatelné zdroje dat. |
streamWriter(schema, overwrite) |
DataSourceStreamWriter Vrátí instanci pro zápis dat do jímky streamování. Vyžaduje se pro zapisovatelné streamované zdroje dat. |
simpleStreamReader(schema) |
SimpleDataSourceStreamReader Vrátí instanci pro čtení streamovaných dat. Používá se pouze v případech, kdy streamReader() není implementováno. |
streamReader(schema) |
DataSourceStreamReader Vrátí instanci pro čtení streamovaných dat. Má přednost před simpleStreamReader(). |
Příklady
Definujte a zaregistrujte vlastní čitelný zdroj dat:
from pyspark.sql.datasource import DataSource, DataSourceReader, InputPartition
class MyDataSource(DataSource):
@classmethod
def name(cls):
return "my_data_source"
def schema(self):
return "a INT, b STRING"
def reader(self, schema):
return MyDataSourceReader(schema)
class MyDataSourceReader(DataSourceReader):
def read(self, partition):
yield (1, "hello")
yield (2, "world")
spark.dataSource.register(MyDataSource)
df = spark.read.format("my_data_source").load()
df.show()
Definujte zdroj dat se schématem StructType :
from pyspark.sql.types import StructType, StructField, IntegerType, StringType
class MyDataSource(DataSource):
def schema(self):
return StructType().add("a", "int").add("b", "string")