
SparkSession.createDataframe,这是发动机罩下使用的,需要一个
RDD/
list的
Row/
tuple/
list/
dict
pandas.Dataframe,除非用模式
DataType设置。尝试将float转换为元组,如下所示:
myFloatRdd.map(lambda x: (x, )).toDF()
甚至更好:
from pyspark.sql import Rowrow = Row("val") # Or some other column namemyFloatRdd.map(row).toDF()要从
Dataframe标量列表创建一个,您必须
SparkSession.createDataframe直接使用并提供一个模式***:
from pyspark.sql.types import FloatTypedf = spark.createDataframe([1.0, 2.0, 3.0], FloatType())df.show()## +-----+## |value|## +-----+## | 1.0|## | 2.0|## | 3.0|## +-----+
但对于一个简单的范围,最好使用
SparkSession.range:
from pyspark.sql.functions import colspark.range(1, 4).select(col("id").cast("double"))*不再受支持。
** Spark SQL还为Python对象公开的模式推断提供了有限的支持
__dict__。
***仅在Spark 2.0或更高版本中受支持。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)