【问题标题】:How to delete a Parquet file on Spark?如何在 Spark 上删除 Parquet 文件?
【发布时间】:2016-10-03 16:34:09
【问题描述】:

我使用DataFrame.saveAsParquet() 命令在 Spark 上保存了 parquet 文件。

如何通过 python 代码删除/移除这个文件?

【问题讨论】:

    标签: python apache-spark parquet


    【解决方案1】:

    这个镶木地板“文件”实际上是一个目录。 This answer 展示了如何删除包含文件的目录

    import shutil
    shutil.rmtree('/folder_name')
    

    【讨论】:

    • 它可以在没有正斜杠的情况下工作。 shutil.rmtree('文件夹名')
    • 请注意,这仅适用于操作系统,不适用于 HDFS、S3 或 Spark 中使用的 Parquet 文件的无数其他常见位置。
    【解决方案2】:

    由于@bsplosion 提到了HDFS,以下是您可以在 pySpark-script 中执行此操作的方法:

    import subprocess
    
    print("Deletion code:", subprocess.call(["hadoop", "fs", "-rm", "-r", "-skipTrash", "hdfs:/your/data/path"]))
    
    # hadoop     - calls hadoop
    # fs         - calls hadoops file system implementation
    # -rm        - calls the remove command
    # -r         - recursive removal in order to remove the entire directory
    # -skipTrash - As it states: Skip the trash and directly remove everything
    

    如果执行成功,则返回选择代码:0,否则返回选择代码:-1。 您可以在文档中阅读有关 hadoops -rm here 的更多信息。

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 1970-01-01
      • 2018-01-11
      • 2018-10-04
      • 2020-02-29
      • 1970-01-01
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多