Partager via


Envoyer des travaux Spark sur un cluster Big Data SQL Server dans Visual Studio Code

Important

Les clusters Big Data Microsoft SQL Server 2019 sont mis hors service. La prise en charge des clusters Big Data SQL Server 2019 a pris fin le 28 février 2025. Pour plus d’informations, consultez le billet de blog d’annonce et les options Big Data sur la plateforme Microsoft SQL Server.

Découvrez comment utiliser Spark &Hive Tools pour Visual Studio Code pour créer et envoyer des scripts PySpark pour Apache Spark, tout d’abord, nous allons décrire comment installer les outils Spark &Hive dans Visual Studio Code, puis nous allons découvrir comment envoyer des travaux à Spark.

Spark &Hive Tools peut être installé sur des plateformes prises en charge par Visual Studio Code, notamment Windows, Linux et macOS. Vous trouverez ci-dessous les conditions préalables pour différentes plateformes.

Prerequisites

Les éléments suivants sont requis pour effectuer les étapes décrites dans cet article :

Installer l’extension Spark & Hive Tools

Une fois les prérequis terminés, vous pouvez installer Spark &Hive Tools pour Visual Studio Code. Effectuez les étapes suivantes pour installer Spark &Hive Tools :

  1. Ouvrez Visual Studio Code.

  2. Dans la barre de menus, accédez à Afficher>Extensions.

  3. Dans la zone de recherche, entrez Spark & Hive.

  4. Sélectionnez Spark &Hive Tools, publié par Microsoft, dans les résultats de la recherche, puis sélectionnez Installer.

    Install Extension

  5. Rechargez le cas échéant.

Ouvrir le dossier de travail

Effectuez les étapes suivantes pour ouvrir un dossier de travail et créer un fichier dans Visual Studio Code :

  1. Dans la barre de menus, accédez à Fichier>Ouvrir le dossier...>C:\SQLBDC\SQLBDCexample, puis sélectionnez le bouton Sélectionner le dossier. Le dossier s’affiche dans l’affichage Explorateur sur la gauche.

  2. Dans l’affichage Explorateur , sélectionnez le dossier , SQLBDCexample, puis l’icône Nouveau fichier en regard du dossier de travail.

    New file

  3. Nommez le nouveau fichier avec l'extension de fichier script Spark .py. Cet exemple utilise HelloWorld.py.

  4. Copiez le code suivant et collez-le dans le fichier de script :

    import sys
    from operator import add
    from pyspark.sql import SparkSession, Row
    
    spark = SparkSession\
       .builder\
       .appName("PythonWordCount")\
       .getOrCreate()
    
    data = [Row(col1='pyspark and spark', col2=1), Row(col1='pyspark', col2=2), Row(col1='spark vs hadoop', col2=2), Row(col1='spark', col2=2), Row(col1='hadoop', col2=2)]
    df = spark.createDataFrame(data)
    lines = df.rdd.map(lambda r: r[0])
    
    counters = lines.flatMap(lambda x: x.split(' ')) \
       .map(lambda x: (x, 1)) \
       .reduceByKey(add)
    
    output = counters.collect()
    sortedCollection = sorted(output, key = lambda r: r[1], reverse = True)
    
    for (word, count) in sortedCollection:
       print("%s: %i" % (word, count))
    

Avant de pouvoir envoyer des scripts à vos clusters à partir de Visual Studio Code, vous devez lier un cluster Big Data SQL Server.

  1. Dans la barre de menus, accédez à Afficher> lapalette de commandes..., puis entrez Spark /Hive : Lier un cluster.

    Commande lier un cluster

  2. Sélectionnez le type de cluster lié SQL Server Big Data.

  3. Entrez le point de terminaison Big Data SQL Server.

  4. Entrez le nom d’utilisateur du cluster Big Data SQL Server.

  5. Entrez le mot de passe de l’administrateur utilisateur.

  6. Définissez le nom d'affichage du cluster big data (facultatif).

  7. Répertorier les clusters, consulter la vue OUTPUT pour la vérification.

List clusters

  1. Dans la barre de menus, accédez à Afficher> lapalette de commandes..., puis entrez Spark/Hive : Répertorier le cluster.

  2. Examinez l’affichage OUTPUT (SORTIE). La vue affiche votre ou vos clusters liés.

    Définir une configuration de cluster par défaut

Définir le cluster par défaut

  1. Re-Open le dossier SQLBDCexample créé précédemment s’il est fermé.

  2. Sélectionnez le fichier HelloWorld.py créé précédemment et s’ouvre dans l’éditeur de script.

  3. Liez un cluster si vous ne l’avez pas encore fait.

  4. Cliquez avec le bouton droit sur l’éditeur de script, puis sélectionnez Spark /Hive : définir le cluster par défaut.

  5. Sélectionnez un cluster comme cluster par défaut pour le fichier de script actuel. Les outils mettent automatiquement à jour le fichier de configuration . VSCode\settings.jsactivé.

    Définir la configuration du cluster par défaut

Envoyer des requêtes PySpark interactives

Vous pouvez envoyer des requêtes PySpark interactives en suivant les étapes ci-dessous :

  1. Rouvrez le dossier SQLBDCexample créé précédemment si fermé.

  2. Sélectionnez le fichier HelloWorld.py créé précédemment et s’ouvre dans l’éditeur de script.

  3. Liez un cluster si vous ne l’avez pas encore fait.

  4. Choisissez tout le code et cliquez avec le bouton droit sur l’éditeur de script, sélectionnez Spark : PySpark Interactive pour envoyer la requête, ou utilisez le raccourci Ctrl + Alt + I.

    menu contextuel interactif pyspark

  5. Sélectionnez le cluster si vous n’avez pas spécifié de cluster par défaut. Après quelques instants, les résultats interactifs Python s’affichent sous un nouvel onglet. Les outils vous permettent également d’envoyer un bloc de code au lieu du fichier de script entier à l’aide du menu contextuel.

    fenêtre interactive Python PySpark

  6. Entrez «%%info», puis appuyez sur Maj + Entrée pour afficher les informations de travail. (Optional)

    afficher les informations de travail

    Note

    Lorsque l’extension Python activée est désactivée dans les paramètres (le paramètre par défaut est activé), les résultats d’interaction pyspark soumis utilisent l’ancienne fenêtre.

    Extension python interactive pyspark désactivée

Envoyer le travail de traitement par lots PySpark

  1. Rouvrez le dossier SQLBDCexample créé précédemment si fermé.

  2. Sélectionnez le fichier HelloWorld.py créé précédemment et s’ouvre dans l’éditeur de script.

  3. Liez un cluster si vous ne l’avez pas encore fait.

  4. Cliquez avec le bouton droit sur l’éditeur de script, puis sélectionnez Spark : Lot PySpark, ou utilisez le raccourci Ctrl + Alt + H.

  5. Sélectionnez le cluster si vous n’avez pas spécifié de cluster par défaut. Une fois que vous avez envoyé un travail Python, les journaux d’envoi s’affichent dans la fenêtre OUTPUT (SORTIE) de Visual Studio Code. L’URL de l’interface utilisateur Spark et l’URL de l’interface utilisateur Yarn sont également affichées. Vous pouvez ouvrir l’URL dans un navigateur web pour suivre l’état du travail.

    Envoyer le résultat du travail Python

Configuration d’Apache Livy

La configuration d’Apache Livy est prise en charge, elle peut être définie à l’adresse . VSCode\settings.jsactivé dans le dossier espace de travail. Actuellement, la configuration Livy prend uniquement en charge le script Python. Pour plus d’informations, consultez Livy README.

Guide pratique pour déclencher la configuration Livy

Method 1

  1. Dans la barre de menus, accédez à Fichier>Préférences>Paramètres.
  2. Dans la zone de texte Paramètres de recherche, entrez Soumission de tâches HDInsight : Livy Conf.
  3. Sélectionnez Modifier dans settings.json pour le résultat de recherche approprié.

Method 2

Envoyez un fichier, notez que le .vscode dossier est ajouté automatiquement au dossier de travail. Vous trouverez la configuration Livy en sélectionnant settings.json sous .vscode.

Paramètres du projet :

Livy configuration

Note

Pour les paramètres driverMemory et executorMemory, définissez la valeur avec une unité, par exemple 1 Go ou 1024 Mo.

Configurations Livy prises en charge

POST /batches

Request body

name description type
file Fichier contenant l’application à exécuter path (required)
proxyUser Utilisateur dont l’identité doit être empruntée lors de l’exécution du travail string
className Classe principale Java/Spark de l’application string
args Arguments de ligne de commande pour l’application Liste de chaînes
jars jars à utiliser dans cette session Liste de chaînes
pyFiles Fichiers Python à utiliser dans cette session Liste de chaînes
files fichiers à utiliser dans cette session Liste de chaînes
driverMemory Quantité de mémoire à utiliser pour le processus de pilote string
driverCores Nombre de cœurs à utiliser pour le processus de pilote int
executorMemory Quantité de mémoire à utiliser par processus d’exécuteur string
executorCores Nombre de cœurs à utiliser pour chaque exécuteur int
numExecutors Nombre d’exécuteurs à lancer pour cette session int
archives Archives à utiliser dans cette session Liste de chaînes
queue Nom de la file d’attente YARN à laquelle l’envoi string
name Nom de cette session string
conf Propriétés de configuration Spark Mappage clé=valeur
:- :- :-

Response Body

Objet batch créé.

name description type
id ID de session int
appId ID d’application de cette session String
appInfo Informations détaillées sur l’application Mappage clé=valeur
log Lignes du fichier journal Liste de chaînes
state État du lot string
:- :- :-

Note

La configuration Livy affectée s’affiche dans le volet de sortie lors de l’envoi du script.

Additional features

Spark &Hive pour Visual Studio Code prend en charge les fonctionnalités suivantes :

  • IntelliSense autocomplete. Les suggestions s’affichent pour les mots clés, les méthodes, les variables, etc. Différentes icônes représentent différents types d’objets.

    Spark &Hive Tools pour les types d’objets IntelliSense visual Studio Code

  • Marqueur d’erreur IntelliSense. Le service de langage souligne les erreurs de modification du script Hive.

  • Syntax highlights. Le service de langage utilise différentes couleurs pour différencier les variables, les mots clés, le type de données, les fonctions, etc.

    Mises en surbrillance de la syntaxe Spark & Hive Tools pour Visual Studio Code

  1. Dans la barre de menus, accédez à Afficher> lapalette de commandes..., puis entrez Spark /Hive : dissocier un cluster.

  2. Sélectionnez le cluster pour dissocier.

  3. Examinez l’affichage OUTPUT (SORTIE).

Next steps

Pour plus d’informations sur le cluster Big Data SQL Server et les scénarios connexes, consultez clusters Big Data SQL Server.