Modes d’analyseur / Blogs / Perficient

Apache Spark est un puissant système informatique distribué open source largement utilisé pour le traitement et l’analyse du Big Data. Lorsque vous travaillez avec des données structurées, un défi courant consiste à gérer les erreurs d’analyse, c’est-à-dire des enregistrements mal formés ou corrompus qui peuvent entraver le traitement des données. Spark offre une flexibilité dans la gestion de ces problèmes grâce aux modes d’analyseur, permettant aux utilisateurs de choisir le comportement qui correspond le mieux à leurs besoins. Dans cet article de blog, Bien explorez trois modes d’analyse clés : ÉchecRapidePermissif et Drop Malformé.
Différents modes d’analyse Spark :
Mode ÉchecFast :
FailFast est un mode analyseur dans lequel Spark adopte une approche stricte. Si une erreur d’analyse est rencontrée lors de la lecture des données, Spark arrête immédiatement le processus et déclenche une exception. Ce mode est idéal lorsque l’intégrité des données est primordiale et que vous préférez éviter de traiter des données présentant des problèmes potentiels.
val dfFailFast = spark.read.option("mode","FAILFAST").csv(filePath)
Mode permissif :
En mode permissif, Spark adopte une approche plus indulgente. Il tente d’analyser et de charger autant de données que possible, même si certains enregistrements sont mal formés. Les erreurs d’analyse sont enregistrées, mais Spark continue de traiter le reste des données. Ce mode convient lorsque vous souhaitez récupérer des données valides tout en étant conscient des problèmes d’analyse. S’il y a des données mal formées, l’enregistrement sera chargé comme nul.
val dfPermissive = spark.read.option("mode","PERMISSIVE").csv(filePath)
Supprimer le mode mal formé :
Le mode Drop Malformed est une autre option pour gérer les erreurs d’analyse. Dans ce mode, Spark ignore et supprime tous les enregistrements qui ne peuvent pas être analysés correctement. Il traite uniquement les enregistrements valides tout en supprimant les enregistrements mal formés. Si votre objectif est de vous concentrer sur le traitement de données propres et sans erreurs, le mode Drop Malformed est un choix pragmatique. Même si une colonne particulière contient des données mal formées, la ligne entière sera supprimée.
val dfDropMalformed = spark.read.option("mode","DROPMALFORMED").csv(filePath)
Voyons ces modes Spark Parser avec des exemples :
Ensemble de données utilisé :
Schéma:
Comme nous pouvons le déduire en voyant le fichier et le schéma que nous avons défini, le type de données pour la colonne Id est un nombre entier. alors que dans le fichier source du Qatar, l’ID est une chaîne pour laquelle nous allons voyez comment fonctionnent les différents modes d’analyseur Spark.
Pémissive :
Lors de l’utilisation du mode analyseur permissif, nous pouvons voir que l’ID de colonne pour le Qatar est chargé comme nul. Le mode permissif permettra à l’enregistrement mal formé de circuler et de stocker cet enregistrement comme nul.
Drop mal formé :
En utilisant le mode d’analyseur Drop Malformed, nous pouvons voir que la colonne mal formée est supprimée.
Échouer rapidement :
Fail Fast peut être utilisé lorsque nous avons des données critiques à traiter. Dans ce cas, une exception sera levée indiquant que l’enregistrement est mal formé. Comme nous pouvons le voir ci-dessus exemple, nous obtenons un NumberFormatException où nous essayons de charger une chaîne dans unn Colonne entière.
Choisir le bon mode Spark Parser pour votre cas d’utilisation :
Le choix du mode d’analyseur dépend de votre cas d’utilisation spécifique et des exigences de traitement des données.
- FailFast convient lorsque vous donnez la priorité à l’intégrité des données et souhaitez interrompre le traitement en cas de problème d’analyse.
- Le permissif est bénéfique lorsque vous souhaitez maximiser le traitement des données et récupérer autant de données valides que possible, même avec quelques erreurs d’analyse.
- Drop Malformed est approprié lorsque vous préférez travailler uniquement avec des données propres et sans erreur et que vous êtes prêt à sacrifier des enregistrements avec des problèmes d’analyse.
Conclusion:
Comprendre les modes de l’analyseur Spark (FailFast, Permissive et Drop Malformed) fournit des informations précieuses sur la façon dont Apache Spark gère les erreurs d’analyse pendant le traitement des données. En choisissant le mode approprié en fonction de votre cas d’utilisation, vous pouvez trouver un équilibre entre l’intégrité des données et le volume de données traitées. Comme toujours, il est essentiel de rester informé des dernières fonctionnalités et des meilleures pratiques, alors assurez-vous de consulter la documentation officielle d’Apache Spark pour toute mise à jour au-delà des informations présentées ici.
Source link