Удаление файлов из Hadoop с помощью pyspark (запрос)

#python #python-3.x #python-2.7 #hadoop #pyspark

#python #python-3.x #python-2.7 #hadoop #pyspark

Вопрос:

Я использую Hadoop для хранения своих данных — для некоторых данных я использую разделы, для некоторых данных я этого не делаю. Я сохраняю данные в parquet формате, используя DataFrame класс pyspark, например:

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

Я хочу написать скрипт, который удаляет старые данные аналогичным способом (мне нужно запросить эти старые данные с фильтрацией по фрейму данных) pyspark . Я что-то не нашел в pyspark документации…

Есть ли способ добиться этого?

Ответ №1:

Pyspark в основном это механизм обработки. Удаление может быть обработано самим subprocess модулем raw python.

 import subprocess

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

Комментарии:

1. Что делать, если на хосте, на котором запущено приложение, нет hadoop, и оно подключается к кластеру?