R1t*_*chY 11 python apache-spark apache-spark-sql pyspark pyspark-sql
我想将RDD转换为DataFrame并想要缓存RDD的结果:
from pyspark.sql import *
from pyspark.sql.types import *
import pyspark.sql.functions as fn
schema = StructType([StructField('t', DoubleType()), StructField('value', DoubleType())])
df = spark.createDataFrame(
sc.parallelize([Row(t=float(i/10), value=float(i*i)) for i in range(1000)], 4), #.cache(),
schema=schema,
verifySchema=False
).orderBy("t") #.cache()
Run Code Online (Sandbox Code Playgroud)
为什么cache在这种情况下生成一份工作?如何避免生成cache(缓存DataFrame而没有RDD)?
编辑:我对问题进行了更多调查,发现orderBy("t")没有生成任何工作.为什么?