Compartilhar via


createDataFrame

Cria um DataFrame de um RDD, uma lista, um pandas.DataFrame, um numpy.ndarrayou um pyarrow.Table.

Sintaxe

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

Parâmetros

Parâmetro Tipo Descrição
data RDD ou iterável Um RDD de qualquer tipo de representação de dados SQL (Row, , tuple, int, booletc dict.), ou um list, pandas.DataFrame, numpy.ndarrayou pyarrow.Table.
schema DataType, str ou list, opcional A DataType, uma cadeia de caracteres de tipo de dados ou uma lista de nomes de coluna. Quando uma lista de nomes de coluna é fornecida, o tipo de cada coluna é inferido de data. Quando None, o esquema é inferido de data (requer Row, namedtupleou dict). Quando uma DataType cadeia de caracteres ou tipo de dados é fornecida, ela deve corresponder aos dados reais.
samplingRatio float, opcional A taxa de exemplo de linhas usadas para inferência de esquema quando data é um RDD. Se None, as primeiras linhas serão usadas.
verifySchema bool, opcional Verifique os tipos de dados de cada linha em relação ao esquema. Habilitado por padrão. Não há suporte para pyarrow.Table a conversão de pandas habilitada para entrada ou seta.

Devoluções

DataFrame

Observações

O uso com spark.sql.execution.arrow.pyspark.enabled=True é experimental.

Exemplos

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