Partager via


Méthodologie de réussite de l’implémentation de Synapse : Évaluer la conception d’un pool Spark

Notes

Cet article fait partie de la série Réussite de l’implémentation d’Azure Synapse par conception. Pour obtenir une vue d’ensemble de la série, consultez Réussite de l’implémentation d’Azure Synapse par conception.

Vous devriez évaluer la conception de votre pool Apache Spark pour identifier des problèmes et vérifier qu’il répond aux instructions et exigences. En évaluant la conception avant le début du développement de la solution, vous pouvez éviter les blocages et les modifications de conception inattendues. De cette façon, vous assurez le calendrier et le budget du projet.

Apache Spark dans Synapse apporte le traitement des données parallèles Apache Spark à Azure Synapse Analytics. Cette évaluation fournit des conseils sur le moment où Apache Spark dans Azure Synapse est ou non la bonne solution pour votre charge de travail. Elle décrit les points à prendre en compte lorsque vous évaluez les éléments de conception de votre solution qui incorporent des pools Spark.

Ajuster l’analyse des écarts

Lorsque vous envisagez d’implémenter des pools Spark avec Azure Synapse, commencez par vous assurer qu’ils sont les mieux adaptés à votre charge de travail.

Observez les points suivants.

  • Votre charge de travail nécessite-t-elle une préparation/ingénierie des données ?
    • Apache Spark fonctionne le mieux pour des charges de travail qui requièrent :
      • Un nettoyage des données.
      • Une transformation de données semi-structurées, telles que XML, en données relationnelles.
      • Une transformation de texte libre complexe, comme une correspondance approximative ou un traitement en langage naturel (NLP).
      • Une préparation des données pour le Machine Learning (ML).
  • Votre charge de travail pour la préparation/ingénierie des données implique-t-elle des transformations complexes ou simples ? Et cherchez-vous une approche avec peu/pas de code ?
    • Pour des transformations simples, telles qu’une suppression de colonnes, une modification de types de données de colonne ou une jonction de jeux de données, envisagez de créer un pipeline Azure Synapse à l’aide d’une activité de flux de données.
    • Les activités de flux de données fournissent une approche avec peu/pas de code pour préparer vos données.
  • Votre charge de travail nécessite-t-elle un Machine Learning sur le Big Data ?
    • Apache Spark fonctionne bien pour des jeux de données volumineux destinés au Machine Learning. Si vous utilisez de petits jeux de données, envisagez d’utiliser Azure Machine Learning comme service de calcul.
  • Envisagez-vous d’effectuer une exploration de données ou une analyse de requête ad hoc sur le Big Data ?
    • Apache Spark dans Azure Synapse fournit une exploration de données basée sur Python/Scala/SQL/.NET. Toutefois, si vous avez besoin d’une expérience Transact-SQL (T-SQL) complète, envisagez d’utiliser un pool SQL serverless.
  • Avez-vous une charge de travail Spark/Hadoop actuelle, et avez-vous besoin d’une plateforme de Big Data unifiée ?
    • Azure Synapse fournit une plateforme analytique unifiée pour travailler avec le Big Data. Il existe des pools Spark et SQL serverless pour requêtes ad hoc, et le pool SQL dédié pour la création de rapports et le service de données.
    • Le déplacement d’une charge de travail Spark/Hadoop à partir d’un environnement local (ou d’un autre environnement cloud) peut impliquer une refactorisation dont vous devez tenir compte.
    • Si vous recherchez une approche lift-and-shift de la migration de votre environnement de Big Data Apache local vers le cloud, et que vous devez respecter un contrat de niveau de service (SLA) d’ingénierie des données strict, envisagez d’utiliser Azure HDInsight.

Considérations relatives à l’architecture

Pour vous assurer que votre pool Apache Spark répond à vos besoins en matière d’excellence opérationnelle, de performances, de fiabilité et de sécurité, vous devez valider des domaines clés dans votre architecture.

Excellence opérationnelle

Pour une excellence opérationnelle, évaluez les points suivants.

Efficacité des performances

Pour améliorer l’efficacité des performances, évaluez les points suivants.

  • Taille et type de fichier : la taille de fichier et le nombre de fichiers ont un impact sur les performances. Concevez l’architecture pour vous assurer que les types de fichiers sont propices à l’ingestion native avec Apache Spark. Privilégiez également un nombre réduit de fichiers volumineux plutôt qu’un grand nombre de petits fichiers.
  • Partitionnement : identifiez si un partitionnement au niveau dossier et/ou du fichier sera implémenté pour votre charge de travail. Les partitions de dossier limitent la quantité de données à rechercher et à lire. Les partitions de fichier réduisent la quantité de données à rechercher dans le fichier, mais ne s’appliquent qu’à des formats de fichiers spécifiques qui doivent être pris en compte dans l’architecture initiale.

Fiabilité

Pour une meilleure fiabilité, évaluez les points suivants.

  • Disponibilité : les pools Spark ont un temps de démarrage de trois à quatre minutes. Cela pourrait prendre plus de temps s’il y a de nombreuses bibliothèques à installer. Lors de la conception de charges de travail par lot ou par diffusion en continu, identifiez le contrat SLA pour exécuter le travail à partir de vos informations d’évaluation et déterminer l’architecture qui répond le mieux à vos besoins. Tenez également compte du fait que chaque exécution de travail crée un cluster de pool Spark.
  • Points de contrôle : la diffusion en continu Apache Spark dispose d’un mécanisme de points de contrôle intégré. Les points de contrôle permettent à votre flux de reprendre à partir de la dernière entrée traitée en cas de défaillance sur un nœud dans votre pool.

Sécurité

Pour la sécurité, évaluez les points suivants.

  • Accès aux données : l’accès aux données doit être pris en compte pour le compte Azure Data Lake Storage (ADLS) attaché à l’espace de travail Synapse. En outre, déterminez les niveaux de sécurité requis pour accéder aux données qui ne se trouvent pas dans l’environnement Azure Synapse. Reportez-vous aux informations que vous avez collectées au cours de la phase d’évaluation.
  • Mise en réseau : révisez les informations sur la mise en réseau et les exigences collectées lors de votre évaluation. Si la conception implique un réseau virtuel managé avec Azure Synapse, considérez les implications de cette exigence sur Apache Spark dans Azure Synapse. L’une de ces implications est l’incapacité d’utiliser Spark SQL lors de l’accès aux données.

Étapes suivantes

Dans l’article suivant de la série Réussite d’Azure Synapse par conception, découvrez comment évaluer votre plan de projet d’entrepôt de données moderne avant le démarrage du projet.

Pour plus d’informations sur les meilleures pratiques, consultez Conseils concernant Apache Spark pour Azure Synapse.