createDataFrame

Skapar en DataFrame från en RDD, en lista, en pandas.DataFrame, en numpy.ndarrayeller en pyarrow.Table.

Syntax

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

Parameters

Parameter Type Beskrivning
data RDD eller itererbar En RDD för alla typer av SQL-datarepresentationer (Row, , tupleint, bool, dictosv.) eller en list, pandas.DataFrame, numpy.ndarrayeller pyarrow.Table.
schema DataType, str eller lista, valfritt En DataType, en datatypssträng eller en lista med kolumnnamn. När en lista med kolumnnamn anges härleds typen av varje kolumn från data. När None, schema härleds från data (kräver Row, namedtupleeller dict). När en DataType sträng eller datatyp har angetts måste den matcha faktiska data.
samplingRatio float, valfritt Exempelförhållandet för rader som används för schemainferens när data är en RDD. Om Noneanvänds de första raderna.
verifySchema bool, valfritt Verifiera datatyper för varje rad mot schemat. Aktiverad som standard. Stöds inte med pyarrow.Table indata eller Pilaktiverad Pandas-konvertering.

Retur

DataFrame

Notes

Användning med spark.sql.execution.arrow.pyspark.enabled=True är experimentell.

Exempel

# 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|
# +-----+---+