Partilhar via


DataSourceRegistration

Um wrapper para o registo da fonte de dados.

Esta instância pode ser acedida via spark.dataSource. Use-o para registar uma subclasse personalizada DataSource para que possa ser referenciada pelo nome em spark.read.format() e df.write.format().

Sintaxe

spark.dataSource.register(MyDataSource)

Methods

Método Descrição
register(dataSource) Regista uma fonte de dados Python definida pelo utilizador. dataSource deve ser uma subclasse de DataSource.

Exemplos

Registe uma fonte de dados personalizada e leia dela:

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