python - 使用 pyspark 从 Hadoop 中删除文件(查询)

标签 python python-3.x python-2.7 hadoop pyspark

我正在使用 Hadoop 来存储我的数据 - 对于某些数据,我正在使用分区,对于某些数据,我没有。 我使用 pyspark DataFrame 类以 parquet 格式保存数据,如下所示:

df = sql_context.read.parquet('/some_path')
df.write.mode("append").parquet(parquet_path)

我想用 pyspark 编写一个删除旧数据的脚本,使用类似的方式(我需要在数据框上过滤查询这个旧数据)。我没有在 pyspark 文档中找到任何内容...

有什么办法可以实现吗?

最佳答案

Pyspark 主要是一个处理引擎。删除可以由原始python本身的subprocess模块处理。

import subprocess

some_path = ...
subprocess.call(["hadoop", "fs", "-rm", "-f", some_path])

关于python - 使用 pyspark 从 Hadoop 中删除文件(查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55676960/

相关文章:

python - 向 Python tkinter 解释如何使用带有 SASS 的类

python - 如何从生成的 Django 表单中删除文本?

python - 在 CI 服务器虚拟环境上安装包依赖项

python-3.x - 如何使用 graphviz 绘制 TreeMap ?

Python 回归变量选择

python - 如何检查从 Python 到 Neo4j 的连接

python - 如何在 python 3 中使用 cookie?

python-2.7 - 将整个文件夹复制到 setup.py 文件中

python-2.7 - 输出类型中beam.ParDo和beam.Map之间的区别?

python - ipython 笔记本小部件中的交互式绘图放置