Мне известно, что были вопросы относительно подстановочных знаков в .load()
-функции pySparks, например здесь или здесь . Во всяком случае, ни один из вопросов / ответов, которые я нашел, не касался моего варианта этого.
Context
В pySpark я хочу загружать файлы непосредственно из HDFS, потому что мне нужно использовать avro-библиотеку databricks для Spark 2.3.x. Я делаю это так:
partition_stamp = "202104"
df = spark.read.format("com.databricks.spark.avro") \
.load(f"/path/partition={partition_stamp}*") \
.select("...")
Как вы можете видеть, разделы создаются из меток времени в формате yyyyMMdd
.
Вопрос
В настоящее время я только получить все использованные перегородки на апрель 2021 года (partition_stamp = "202104"
). Однако мне нужны все разделы, начиная с апреля 2021 года.
Написано в псевдокоде, мне понадобится решение, подобное этому:
.load(f"/path/partition >= {partition_stamp}*")
Поскольку на самом деле существует несколько сотен разделов, это бесполезно делать это каким-либо образом, требующим жесткого кодирования.
Итак, мой вопрос: Есть ли функция для условной загрузки файлов?