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

Dataframe 如何将列名和列数据类型传递给toDF()函数,dataframe,apache-spark,pyspark,apache-spark-sql,rdd,Dataframe,Apache Spark,Pyspark,Apache Spark Sql,Rdd,如何将列名和列数据类型传递给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)), '

如何将列名和列数据类型传递给
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'
)

你为什么这么做?您只是在尝试转换列类型吗?不,我正在执行一些转换并更改列类型