如何使用createDataFrame创建pyspark数据帧?

如何使用createDataFrame创建pyspark数据帧?,pyspark,Pyspark,我知道这可能是个愚蠢的问题。我有以下代码: from pyspark.sql import SparkSession rows = [1,2,3] df = SparkSession.createDataFrame(rows) df.printSchema() df.show() 但我有一个错误: createDataFrame() missing 1 required positional argument: 'data' 我不明白为什么会发生这种情况,因为我已经提供了“数据”,即变量行

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

from pyspark.sql import SparkSession
rows = [1,2,3]
df = SparkSession.createDataFrame(rows)
df.printSchema()
df.show()
但我有一个错误:

createDataFrame() missing 1 required positional argument: 'data'
我不明白为什么会发生这种情况,因为我已经提供了“数据”,即变量行

谢谢

试试看 行=[(1,),(2,),(3,)] ?
如果我没有弄错的话,createDataFrame()将2个列表作为输入:第一个列表是数据,第二个列表是列名。数据必须是元组列表,其中每个元组都是数据帧的一行

您必须使用构建模式创建SparkSession实例,并将其用于创建数据帧,请选中

下面是使用createDataFrame的步骤

创建sparksession

spark = SparkSession.builder.appName('SparkByExamples.com').getOrCreate()
创建数据和列

columns = ["language","users_count"]
data = [("Java", "20000"), ("Python", "100000"), ("Scala", "3000")]
从RDD创建数据帧

rdd = spark.sparkContext.parallelize(data)
df= spark.createDataFrame(rdd).toDF(*columns)
第二种方法,直接创建数据帧

df2 = spark.createDataFrame(data).toDF(*columns)

尝试
df=SparkSession.createDataFrame(数据=行)
df2 = spark.createDataFrame(data).toDF(*columns)