diff --git a/clean.py b/clean.py index b52523372e67b2664232423426f2526ccc532d8f..a2c4a69bea63514723d3faff9bedf4fd0eef7d24 100644 --- a/clean.py +++ b/clean.py @@ -16,10 +16,23 @@ spark = SparkSession.builder \ def clean_bucket(bucket_path): try: print(f"Limpando o diretório {bucket_path}...") - spark._jvm.org.apache.hadoop.fs.FileSystem \ - .get(spark._jsc.hadoopConfiguration()) \ - .delete(spark._jvm.org.apache.hadoop.fs.Path(bucket_path), True) - print(f"Diretório {bucket_path} limpo com sucesso.") + + # Certifique-se de que o caminho S3 seja tratado corretamente + if not bucket_path.startswith("s3a://"): + print(f"Caminho inválido: {bucket_path}. Deve começar com 's3a://'.") + return + + # Usando a API Hadoop FileSystem para deletar o diretório S3 + fs = spark._jvm.org.apache.hadoop.fs.FileSystem.get(spark._jsc.hadoopConfiguration()) + path = spark._jvm.org.apache.hadoop.fs.Path(bucket_path) + + # Apagar o diretório S3 (o parâmetro 'True' remove recursivamente) + if fs.exists(path): + fs.delete(path, True) + print(f"Diretório {bucket_path} limpo com sucesso.") + else: + print(f"O diretório {bucket_path} não existe.") + except Exception as e: print(f"Erro ao limpar o diretório {bucket_path}: {e}")