Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Interfaz usada para cargar un dataframe desde sistemas de almacenamiento externos (por ejemplo, sistemas de archivos, almacenes de clave-valor, etc.).
Admite Spark Connect
Sintaxis
Use SparkSession.read para acceder a esta interfaz.
Methods
| Método | Descripción |
|---|---|
format(source) |
Especifica el formato del origen de datos de entrada. |
schema(schema) |
Especifica el esquema de entrada. |
option(key, value) |
Agrega una opción de entrada para el origen de datos subyacente. |
options(**options) |
Agrega opciones de entrada para el origen de datos subyacente. |
load(path, format, schema, **options) |
Carga datos de un origen de datos y los devuelve como dataframe. |
json(path, schema, ...) |
Carga archivos JSON y devuelve los resultados como dataframe. |
table(tableName) |
Devuelve la tabla especificada como dataframe. |
parquet(*paths, **options) |
Carga archivos Parquet y devuelve el resultado como dataframe. |
text(paths, wholetext, lineSep, ...) |
Carga archivos de texto y devuelve un DataFrame cuyo esquema comienza con una columna de cadena denominada "value". |
csv(path, schema, sep, encoding, ...) |
Carga un archivo CSV y devuelve el resultado como dataframe. |
xml(path, rowTag, schema, ...) |
Carga un archivo XML y devuelve el resultado como dataframe. |
excel(path, dataAddress, headerRows, ...) |
Carga archivos de Excel y devuelve el resultado como dataframe. |
orc(path, mergeSchema, pathGlobFilter, ...) |
Carga archivos ORC y devuelve el resultado como dataframe. |
jdbc(url, table, column, lowerBound, upperBound, numPartitions, predicates, properties) |
Construya un DataFrame que represente la tabla de base de datos denominada tabla accesible a través de la dirección URL de JDBC y las propiedades de conexión. |
Ejemplos
Lectura de orígenes de datos diferentes
# 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")
Uso de formato y carga
# 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")
Especificación del esquema
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")
Lectura de 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"}
)
Encadenamiento de métodos
# 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")