Lectura de múltiples carpetas / rutas S3 en PySpark

Estoy realizando un análisis de big data con PySpark. Puedo importar todos los archivos CSV, almacenados en una carpeta particular de un depósito en particular, usando el siguiente comando:

df = sqlContext.read.format('com.databricks.spark.csv').options(header='true', inferschema='true').load('file:///home/path/datafolder/data2014/*.csv')

(donde * actúa como un comodín)

Los problemas que tengo son los siguientes:

¿Qué sucede si quiero hacer mi análisis de los datos de 2014 y 2015, es decir, el archivo 1 es.load('file:///home/path/SFweather/data2014/*.csv'), el archivo 2 es.load('file:///home/path/SFweather/data2015/*.csv') y el archivo 3 es.load('file:///home/path/NYCweather/data2014/*.csv') y el archivo 4 es.load('file:///home/path/NYCweather/data2015/*.csv'). ¿Cómo importo varias rutas al mismo tiempo para obtener un marco de datos? ¿Necesito almacenarlos todos individualmente como marcos de datos y luego unirlos en PySpark? (Puede suponer que todos los CSV tienen el mismo esquema)Supongamos que es noviembre de 2014 ahora. ¿Qué sucede si quiero volver a ejecutar el análisis, pero en la ejecución de "datos más recientes", p. dec14 cuando es diciembre de 2014? Por ejemplo, quiero cargar en el archivo 2:.load('file:///home/path/datafolder/data2014/dec14/*.csv') el 14 de diciembre y use este archivo:.load('file:///home/path/datafolder/data2014/nov14/*.csv') para el análisis original ¿Hay alguna manera de programar el cuaderno Jupyter (o similar) para actualizar la ruta de carga e importar la última ejecución (en este caso, 'nov14' se reemplazaría por 'dec14' y luego 'jan15', etc.)?

Eché un vistazo a las preguntas anteriores, pero no pude encontrar una respuesta dado que esto es específico de la integración de AWS / PySpark.

¡Gracias por adelantado por la ayuda!

[Antecedentes: me han dado acceso a muchos grupos de S3 de varios equipos que contienen varios conjuntos de big data. Copiarlo en mi bucket S3, luego construir un portátil Jupyter parece mucho más trabajo que simplemente extraer los datos directamente de su bucket y construir un modelo / tabla / etc. encima y guardar el resultado procesado en una base de datos. Por lo tanto, estoy publicando las preguntas anteriores. Si mi pensamiento está completamente equivocado, ¡detenme! :)]

Respuestas a la pregunta(1)

Su respuesta a la pregunta