Aller au contenu principal

Classe DataFrameReader

Interface utilisée pour charger un DataFrame à partir de systèmes de stockage externes (par exemple, systèmes de fichiers, magasins clé-valeur, etc).

Prend en charge Spark Connect

Syntaxe

Utilisez SparkSession.read pour accéder à cette interface.

Méthodes

Méthode

Description

format(source)

Spécifie le format de la source de données d'entrée.

schema(schema)

Spécifie le schéma d'entrée.

option(key, value)

Ajouter une option d'entrée pour la source de données sous-jacente.

options(**options)

Ajoute des options d'entrée pour la **source de données** sous-jacente.

load(path, format, schema, **options)

Charge les données d'une source de données et les renvoie sous forme de DataFrame.

json(path, schema, ...)

Charge les fichiers JSON et renvoie les résultats sous forme de DataFrame.

table(tableName)

Renvoie la table spécifiée en tant que DataFrame.

parquet(*paths, **options)

Charge les fichiers Parquet, retournant le résultat sous forme de DataFrame.

text(paths, wholetext, lineSep, ...)

Charge les fichiers texte et renvoie un DataFrame dont le schéma start par une colonne de chaîne nommée « value ».

csv(path, schema, sep, encoding, ...)

Charge un fichier CSV et renvoie le résultat sous forme de DataFrame.

xml(path, rowTag, schema, ...)

Charge un fichier XML et renvoie le résultat en tant que DataFrame.

excel(path, dataAddress, headerRows, ...)

Charge les fichiers Excel, en renvoyant le résultat sous forme de DataFrame.

orc(path, mergeSchema, pathGlobFilter, ...)

Charge les fichiers ORC, en renvoyant le résultat sous forme de DataFrame.

jdbc(url, table, column, lowerBound, upperBound, numPartitions, predicates, properties)

Construisez un DataFrame représentant la table de base de données nommée table accessible via l'URL JDBC url et les propriétés de connexion.

Méthode

Description

format(source)

Spécifie le format de la source de données d'entrée.

schema(schema)

Spécifie le schéma d'entrée.

option(key, value)

Ajouter une option d'entrée pour la source de données sous-jacente.

options(**options)

Ajoute des options d'entrée pour la **source de données** sous-jacente.

load(path, format, schema, **options)

Charge les données d'une source de données et les renvoie sous forme de DataFrame.

json(path, schema, ...)

Charge les fichiers JSON et renvoie les résultats sous forme de DataFrame.

table(tableName)

Renvoie la table spécifiée en tant que DataFrame.

parquet(*paths, **options)

Charge les fichiers Parquet, retournant le résultat sous forme de DataFrame.

text(paths, wholetext, lineSep, ...)

Charge les fichiers texte et renvoie un DataFrame dont le schéma start par une colonne de chaîne nommée « value ».

csv(path, schema, sep, encoding, ...)

Charge un fichier CSV et renvoie le résultat sous forme de DataFrame.

xml(path, rowTag, schema, ...)

Charge un fichier XML et renvoie le résultat en tant que DataFrame.

excel(path, dataAddress, headerRows, ...)

Charge les fichiers Excel, en renvoyant le résultat sous forme de DataFrame.

orc(path, mergeSchema, pathGlobFilter, ...)

Charge les fichiers ORC, en renvoyant le résultat sous forme de DataFrame.

jdbc(url, table, column, lowerBound, upperBound, numPartitions, predicates, properties)

Construisez un DataFrame représentant la table de base de données nommée table accessible via l'URL JDBC url et les propriétés de connexion.

Exemples

Lecture à partir de différentes sources de données

Python
# 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")

Utilisation du formatage et du chargement

Python
# 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")

Spécification du schéma

Python
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")

Lecture à partir de JDBC

Python
# 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"}
)

Chaînage de méthodes

Python
# 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")