DataFrameReader – třída

Rozhraní používané k načtení datového rámce z externích systémů úložiště (např. systémů souborů, úložišť klíč-hodnota atd.).

Podporuje Spark Connect.

Syntaxe

Používá SparkSession.read se pro přístup k tomuto rozhraní.

Methods

Metoda Description
format(source) Určuje formát vstupního zdroje dat.
schema(schema) Určuje vstupní schéma.
option(key, value) Přidá vstupní možnost pro podkladový zdroj dat.
options(**options) Přidá vstupní možnosti pro podkladový zdroj dat.
load(path, format, schema, **options) Načte data ze zdroje dat a vrátí je jako datový rámec.
json(path, schema, ...) Načte soubory JSON a vrátí výsledky jako datový rámec.
table(tableName) Vrátí zadanou tabulku jako datový rámec.
parquet(*paths, **options) Načte soubory Parquet, které vrátí výsledek jako datový rámec.
text(paths, wholetext, lineSep, ...) Načte textové soubory a vrátí datový rámec, jehož schéma začíná řetězcem sloupce s názvem "value".
csv(path, schema, sep, encoding, ...) Načte soubor CSV a vrátí výsledek jako datový rámec.
xml(path, rowTag, schema, ...) Načte soubor XML a vrátí výsledek jako datový rámec.
excel(path, dataAddress, headerRows, ...) Načte excelové soubory, které vrátí výsledek jako datový rámec.
orc(path, mergeSchema, pathGlobFilter, ...) Načte soubory ORC, které vrátí výsledek jako datový rámec.
jdbc(url, table, column, lowerBound, upperBound, numPartitions, predicates, properties) Vytvořte datový rámec představující tabulku s názvem databáze, která je přístupná prostřednictvím adresy URL adresy URL JDBC a vlastností připojení.

Příklady

Čtení z různých zdrojů dat

# Access DataFrameReader through SparkSession
spark.read

# Read JSON file
df = spark.read.json("path/to/file.json")

# Read CSV file with options
df = spark.read.option("header", "true").csv("path/to/file.csv")

# Read Parquet file
df = spark.read.parquet("path/to/file.parquet")

# Read from a table
df = spark.read.table("table_name")

Použití formátu a načtení

# Specify format explicitly
df = spark.read.format("json").load("path/to/file.json")

# With options
df = spark.read.format("csv") \
    .option("header", "true") \
    .option("inferSchema", "true") \
    .load("path/to/file.csv")

Určení schématu

from pyspark.sql.types import StructType, StructField, StringType, IntegerType

# Define schema
schema = StructType([
    StructField("name", StringType(), True),
    StructField("age", IntegerType(), True)
])

# Read CSV with schema
df = spark.read.schema(schema).csv("path/to/file.csv")

# Read CSV with DDL-formatted string schema
df = spark.read.schema("name STRING, age INT").csv("path/to/file.csv")

Čtení z JDBC

# Read from database table
df = spark.read.jdbc(
    url="jdbc:postgresql://localhost:5432/mydb",
    table="users",
    properties={"user": "myuser", "password": "mypassword"}
)

# Read with partitioning for parallel loading
df = spark.read.jdbc(
    url="jdbc:postgresql://localhost:5432/mydb",
    table="users",
    column="id",
    lowerBound=1,
    upperBound=1000,
    numPartitions=10,
    properties={"user": "myuser", "password": "mypassword"}
)

Řetězení metod

# Chain multiple configuration methods
df = spark.read \
    .format("csv") \
    .option("header", "true") \
    .option("inferSchema", "true") \
    .option("delimiter", ",") \
    .schema("name STRING, age INT") \
    .load("path/to/file.csv")