#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, и оно подключается к кластеру?