Freigeben über


DataSourceRegistration

Ein Wrapper für die Datenquellenregistrierung.

Auf diese Instanz kann über spark.dataSource. Verwenden Sie sie, um eine benutzerdefinierte DataSource Unterklasse zu registrieren, damit sie anhand des Namens in spark.read.format() und df.write.format().

Syntax

spark.dataSource.register(MyDataSource)

Methodik

Methode Beschreibung
register(dataSource) Registriert eine benutzerdefinierte Python-Datenquelle. dataSource muss eine Unterklasse von DataSource.

Beispiele

Registrieren Sie eine benutzerdefinierte Datenquelle, und lesen Sie sie aus:

from pyspark.sql.datasource import DataSource, DataSourceReader

class MyDataSource(DataSource):
    @classmethod
    def name(cls):
        return "my_data_source"

    def schema(self):
        return "id INT, value 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()