我想创建一个pyspark数据帧,其中一列包含一系列整数的指定名称(这是为了提供给ALS模型的suggestForUserSubset方法) .
所以我使用range创建了一个整数列表,并找到了this question,显示了如何使用SQLContext将列表放入数据帧 . 但是,因为我知道如何创建一个SQLContext - 并且根据SQLContext上的documentation,我可能不应该这样做:"As of Spark 2.0, this is replaced by SparkSession. However, we are keeping the class here for backward compatibility."
这是我要替换的代码:
dataset = sqlContext.createDataFrame(range(i, i+1000), ['session_idx'])
我也不知道是否应该将整数列表映射到元组列表,或者它是否“只是工作” .
2 回答
在这种情况下,SparkSession上存在相同的方法(spark.createDataFrame) .
但是,对于获取范围列的特定用例,还有一种专用方法:
会 certainly give you errors
该错误是因为
range(i, i+10)
必须如api文档中所述Solution
只需使
range(i, i+10)
a list 为这会给你
或 a list of list 为
这将产生
我希望答案是有帮助的