Je suis en train de construire une classe Python qui fonctionne avec des dataframes PySpark ou des tables Hive. Les données d'entrée peuvent être soit un str
pour le nom de la table ou un DataFrame
. Quelle est la meilleure pratique Python pour faire cela ? Je voulais faire cela de manière à ce que ce soit flexible en fonction du cas d'utilisation. La seule différence réside dans la façon dont les données doivent être transmises à la classe (soit sous forme de tableau, soit sous forme de DataFrame Spark), tout le reste est identique.
Voir l'exemple ci-dessous :
class DataPipeline:
def __init__(self, data):
if isinstance(data, str):
self.df = spark.read.table(data)
elif isinstance(data, DataFrame):
self.df = data
else:
raise ValueError("some error")
def process_data(self):
# do something with the self.df here