Pyspark spark中的覆盖行为
我定期上传拼花地板文件上的数据,我使用该文件进行数据分析,我希望确保我的拼花地板文件中的数据不重复。我用于执行此操作的命令是:Pyspark spark中的覆盖行为,pyspark,parquet,Pyspark,Parquet,我定期上传拼花地板文件上的数据,我使用该文件进行数据分析,我希望确保我的拼花地板文件中的数据不重复。我用于执行此操作的命令是: df.write.parquet('my_directory/',mode='overwrite') 这是否确保我的所有非重复数据不会在某个时候被意外删除 Cheers覆盖,顾名思义,它将整个数据重写到您指定的路径中。 从某种意义上讲,如果指定路径中有可用的旧文件,则通过删除这些文件,将df中可用的数据写入路径。因此,您可以将此视为删除< /代码>和 Load 场景,
df.write.parquet('my_directory/',mode='overwrite')
这是否确保我的所有非重复数据不会在某个时候被意外删除
Cheers覆盖,顾名思义,它将整个数据重写到您指定的路径中。 从某种意义上讲,如果指定路径中有可用的旧文件,则通过删除这些文件,将
df
中可用的数据写入路径。因此,您可以将此视为<代码>删除< /代码>和mode –
specifies the behavior of the save operation when data already exists.
append: Append contents of this DataFrame to existing data.
overwrite: Overwrite existing data.
ignore: Silently ignore this operation if data already exists.
error or errorifexists (default case): Throw an exception if data already
exists.
如果您打算向拼花地板添加新数据,则必须使用append
,但如果您处理的是不断变化的数据,这将带来新的重复挑战
这是否确保不会删除我的所有非重复数据
在某一点上偶然地
否mode='overwrite'
仅确保如果数据已经存在于目标目录中
,则现有数据将被删除
,并写入新数据(类似于截断并加载到RDBMS表中
)。
如果要确保没有记录级重复项,最简单的方法是:
df1 = df.dropDuplicates()
df1.write.parquet('my_directory/', mode='overwrite')