如何使用createDataFrame创建一个Pyspark数据框?

3

我知道这可能是一个愚蠢的问题。我有以下代码:

from pyspark.sql import SparkSession
rows = [1,2,3]
df = SparkSession.createDataFrame(rows)
df.printSchema()
df.show()

但是我遇到了一个错误:
createDataFrame() missing 1 required positional argument: 'data'

我不明白为什么会发生这种情况,因为我已经提供了“data”,它是变量“rows”的值。
谢谢。

尝试使用df = SparkSession.createDataFrame(data=rows)创建数据框架。 - Sociopath
3个回答

4

1
以下是使用createDataFrame创建pyspark数据框的步骤:
1. 创建SparkSession
2. 通过createDataFrame方法创建数据框,详情请参见create pyspark dataframe
spark = SparkSession.builder.appName('SparkByExamples.com').getOrCreate()

创建数据和列。
columns = ["language","users_count"]
data = [("Java", "20000"), ("Python", "100000"), ("Scala", "3000")]

从RDD创建DataFrame
rdd = spark.sparkContext.parallelize(data)
df= spark.createDataFrame(rdd).toDF(*columns)

第二种方法,直接创建数据框。
df2 = spark.createDataFrame(data).toDF(*columns)

0
尝试一下: row = [(1,), (2,), (3,)] 如果我没记错的话,createDataFrame()函数需要两个列表作为输入:第一个列表是数据,第二个列表是列名。数据必须是一个由元组组成的列表的列表,其中每个元组都是数据帧的一行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接