Dela via


DataSourceRegistration

En omslutning för registrering av datakällor.

Den här instansen kan nås via spark.dataSource. Använd den för att registrera en anpassad DataSource underklass så att den kan refereras till med namnet i spark.read.format() och df.write.format().

Syntax

spark.dataSource.register(MyDataSource)

Methods

Metod Beskrivning
register(dataSource) Registrerar en användardefinierad Python-datakälla. dataSource måste vara en underklass av DataSource.

Exempel

Registrera en anpassad datakälla och läs från den:

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()