如何将列名和列数据类型传递给 toDF() 函数

How to pass both column name and column datatype to toDF() function

我们如何将列名和列数据类型都传递给 toDF() 函数?

有点像,

df.rdd.map(lambda x: (x.col1, x.col2, x.col3)).toDF('col1:string, col2:int, col3:boolean')

您可以将 spark.createDataFrame 与转换后的 RDD 一起使用并提供架构:

df2 = spark.createDataFrame(
    df.rdd.map(lambda x: (x.col1, x.col2, x.col3)), 
    'col1:string, col2:int, col3:boolean'
)