Freigeben über


createDataFrame

Erstellt eine DataFrame aus einer RDD, einer Liste, einer , einer pandas.DataFrame, einer numpy.ndarrayoder einer pyarrow.Table.

Syntax

createDataFrame(data, schema=None, samplingRatio=None, verifySchema=True)

Parameter

Parameter Typ Beschreibung
data RDD oder iterierbar Eine RDD jeder Art von SQL-Datendarstellung (Row, tuple, , intbool, dictusw.) oder ein list, pandas.DataFrame, , numpy.ndarrayoder pyarrow.Table.
schema Datentyp, str oder Liste, optional A DataType, eine Datentypzeichenfolge oder eine Liste von Spaltennamen. Wenn eine Liste mit Spaltennamen angegeben wird, wird der Typ jeder Spalte abgeleitet von data. Wenn None, Schema wird abgeleitet von data (erfordert Row, namedtuple, oder dict). Wenn eine oder mehrere DataType Datentypen bereitgestellt werden, muss sie mit den tatsächlichen Daten übereinstimmen.
samplingRatio float, optional Das Beispielverhältnis von Zeilen, die für die Schema-Ableitung verwendet werden, wenn data es sich um ein RDD. Wenn Nonedie ersten Zeilen verwendet werden.
verifySchema bool, optional Überprüfen Sie die Datentypen jeder Zeile anhand des Schemas. Standardmäßig aktiviert. Wird bei pyarrow.Table eingabe- oder pfeilfähigen Pandas nicht unterstützt.

Rückkehr

DataFrame

Hinweise

Die Verwendung mit spark.sql.execution.arrow.pyspark.enabled=True ist experimentell.

Beispiele

# Create a DataFrame from a list of tuples.
spark.createDataFrame([('Alice', 1)]).show()
# +-----+---+
# |   _1| _2|
# +-----+---+
# |Alice|  1|
# +-----+---+

# Create a DataFrame from a list of dictionaries.
spark.createDataFrame([{'name': 'Alice', 'age': 1}]).show()
# +---+-----+
# |age| name|
# +---+-----+
# |  1|Alice|
# +---+-----+

# Create a DataFrame with column names specified.
spark.createDataFrame([('Alice', 1)], ['name', 'age']).show()
# +-----+---+
# | name|age|
# +-----+---+
# |Alice|  1|
# +-----+---+

# Create a DataFrame with an explicit schema.
from pyspark.sql.types import StructType, StructField, StringType, IntegerType
schema = StructType([
    StructField("name", StringType(), True),
    StructField("age", IntegerType(), True)])
spark.createDataFrame([('Alice', 1)], schema).show()
# +-----+---+
# | name|age|
# +-----+---+
# |Alice|  1|
# +-----+---+

# Create a DataFrame with a DDL-formatted schema string.
spark.createDataFrame([('Alice', 1)], "name: string, age: int").show()
# +-----+---+
# | name|age|
# +-----+---+
# |Alice|  1|
# +-----+---+

# Create an empty DataFrame (schema is required when data is empty).
spark.createDataFrame([], "name: string, age: int").show()
# +----+---+
# |name|age|
# +----+---+
# +----+---+

# Create a DataFrame from Row objects.
from pyspark.sql import Row
Person = Row('name', 'age')
spark.createDataFrame([Person("Alice", 1)]).show()
# +-----+---+
# | name|age|
# +-----+---+
# |Alice|  1|
# +-----+---+