【发布时间】:2018-03-28 07:50:23
【问题描述】:
如何覆盖 当我们节省时间时,RDD 输出对象任何现有的路径。
测试1:
975078|56691|2.000|20171001_926_570_1322
975078|42993|1.690|20171001_926_570_1322
975078|46462|2.000|20171001_926_570_1322
975078|87815|1.000|20171001_926_570_1322
rdd=sc.textFile('/home/administrator/work/test1').map( lambda x: x.split("|")[:4]).map( lambda r: Row( user_code = r[0],item_code = r[1],qty = float(r[2])))
rdd.coalesce(1).saveAsPickleFile("/home/administrator/work/foobar_seq1")
第一次正常保存。现在我又从输入中删除了一行 文件和保存RDD相同的位置,它表明文件已经存在。
rdd.coalesce(1).saveAsPickleFile("/home/administrator/work/foobar_seq1")
例如,在数据框中,我们可以覆盖现有路径。
df.coalesce(1).write().overwrite().save(path)
如果我在 RDD 对象上做同样的事情,得到一个错误。
rdd.coalesce(1).write().overwrite().saveAsPickleFile(path)
请帮帮我
【问题讨论】:
-
RDD没有写入方法。请提供minimal reproducible example。 -
感谢您的快速回复,我已经改变了我的问题。你正确的RDD没有写方法,RDD中是否有任何方法等于写方法。
标签: apache-spark pyspark rdd pyspark-sql