Envoyer des travaux Spark sur un cluster Big Data SQL Server dans Visual Studio Code
Important
Le module complémentaire Clusters Big Data Microsoft SQL Server 2019 sera mis hors service. La prise en charge de la plateforme Clusters Big Data Microsoft SQL Server 2019 se terminera le 28 février 2025. Tous les utilisateurs existants de SQL Server 2019 avec Software Assurance seront entièrement pris en charge sur la plateforme, et le logiciel continuera à être maintenu par les mises à jour cumulatives SQL Server jusqu’à ce moment-là. 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 l’extension Spark & Hive Tools for Visual Studio Code afin de créer et d’envoyer des scripts PySpark pour Apache Spark. Nous allons tout d’abord expliquer comment installer l’extension Spark & Hive Tools dans Visual Studio Code, puis nous montrerons comment envoyer des travaux à Spark.
L’extension Spark & Hive Tools peut être installée sur les plateformes prises en charge par Visual Studio Code, notamment Windows, Linux et macOS. Vous trouverez ci-dessous les prérequis pour les différentes plateformes.
Prérequis
Les éléments suivants sont requis pour effectuer les étapes décrites dans cet article :
- Cluster Big Data SQL Server. Voir Clusters Big Data SQL Server.
- Visual Studio Code.
- Python et l’extension Python sur Visual Studio Code.
- Mono. Mono est uniquement requis pour Linux et macOS.
- Configurez l’environnement interactif PySpark pour Visual Studio Code.
- Un répertoire local nommé SQLBDCexample. Cet article utilise C:\SQLBDC\SQLBDCexample.
Installer l’extension Spark & Hive Tools
Une fois que vous satisfaites aux prérequis, vous pouvez installer l’extension Spark & Hive Tools for Visual Studio Code. Effectuez les étapes suivantes pour installer l’extension Spark & Hive Tools :
Ouvrez Visual Studio Code.
Dans la barre de menus, accédez à Afficher>Extensions.
Dans la zone de recherche, entrez Spark & Hive.
Sélectionnez Outils Spark et Hive publié par Microsoft, dans les résultats de la recherche, puis sélectionnez Installer.
Rechargez quand cela est nécessaire.
Ouvrir le dossier de travail
Pour ouvrir un dossier de travail et créer un fichier dans Visual Studio Code, effectuez les étapes suivantes :
Dans la barre de menus, accédez à Fichier>Ouvrir le dossier...>C:\SQLBDC\SQLBDCexample, puis sélectionnez le bouton Sélectionner un dossier. Le dossier s’affiche dans l’affichage Explorateur sur la gauche.
Dans la vue Explorateur, sélectionnez le dossier SQLBDCexample, puis l’icône Nouveau fichier en regard du dossier de travail.
Nommez le nouveau fichier avec l’extension de fichier
.py
(script Spark). Cet exemple utilise HelloWorld.py.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))
Lier un cluster Big Data SQL Server
Avant de pouvoir envoyer des scripts à vos clusters à partir de Visual Studio Code, vous devez lier un cluster Big Data SQL Server.
À partir de la barre de menus, accédez à Afficher>Palette de commandes... , puis entrez Spark/Hive : Link a cluster (Spark / Hive : lier un cluster).
Sélectionnez le type de cluster lié SQL Server Big Data (Big Data SQL Server).
Entrez le point de terminaison Big Data SQL Server.
Entrez le nom d’utilisateur du cluster Big Data SQL Server.
Entrez le mot de passe de l’administrateur d’utilisateurs.
Définissez le nom d’affichage du cluster Big Data (facultatif).
Listez les clusters, puis examinez l’affichage OUTPUT (SORTIE).
Lister les clusters
À partir de la barre de menus, accédez à Afficher>Palette de commandes... , puis entrez Spark/Hive : List cluster.
Examinez l’affichage OUTPUT (SORTIE). L’affichage montre vos clusters liés.
Définir le cluster par défaut
Réouvrez le dossier SQLBDCexample créé précédemment s’il est fermé.
Sélectionnez le fichier HelloWorld.py créé précédemment ; il s’ouvre alors dans l’éditeur de script.
Si ce n’est déjà fait, liez un cluster.
Cliquez avec le bouton droit sur l’éditeur de script, puis sélectionnez Spark / Hive: Set Default Cluster.
Sélectionnez un cluster comme cluster par défaut pour le fichier de script actuel. Les outils mettent à jour automatiquement le fichier de configuration .VSCode\settings.json.
Envoyer des requêtes PySpark interactives
Suivez les étapes ci-dessous pour envoyer des requêtes PySpark interactives :
Réouvrez le dossier SQLBDCexample créé précédemment s’il est fermé.
Sélectionnez le fichier HelloWorld.py créé précédemment ; il s’ouvre alors dans l’éditeur de script.
Si ce n’est déjà fait, liez un cluster.
Choisissez tout le code, 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.
Sélectionnez le cluster si vous n’avez pas spécifié de cluster par défaut. Après quelques instants, les résultats de Python Interactive s’affichent dans un nouvel onglet. Les outils vous permettent également d’envoyer un bloc de code au lieu du fichier de script entier à partir du menu contextuel.
Saisissez « %%info », puis appuyez sur Maj + Entrée pour afficher les informations sur la tâche. (facultatif)
Remarque
Si la case Extension Python activée n’est pas cochée dans les paramètres (le paramètre est activé par défaut), les résultats d’interaction PySpark envoyés utilisent l’ancienne fenêtre.
Envoyer le travail de traitement par lots PySpark
Réouvrez le dossier SQLBDCexample créé précédemment s’il est fermé.
Sélectionnez le fichier HelloWorld.py créé précédemment ; il s’ouvre alors dans l’éditeur de script.
Si ce n’est déjà fait, liez un cluster.
Cliquez avec le bouton droit sur l’éditeur de script, puis sélectionnez Spark: PySpark Batch ou utilisez le raccourci clavier Ctrl + Alt + H.
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.
Configuration d’Apache Livy
La configuration d’Apache Livy est prise en charge. Elle peut être définie dans le fichier .VSCode\settings.json dans le dossier de l’espace de travail. Actuellement, la configuration Livy prend uniquement en charge le script Python. Pour plus d’informations, consultez le fichier Lisez-moi de Livy.
Comment déclencher une configuration Livy
Méthode 1
- Dans la barre de menus, accédez à Fichier>Préférences>Paramètres.
- Dans la zone de texte Paramètres de recherche, entrez Envoi de travaux HDInsight : Livy Conf.
- Sélectionnez Modifier dans settings.json pour le résultat de recherche approprié.
Méthode 2
Envoyez un fichier ; notez que le dossier .vscode
est ajouté automatiquement au dossier de travail. Vous pouvez trouver la configuration Livy en sélectionnant settings.json
sous .vscode
.
Paramètres du projet :
Remarque
Pour les paramètres driverMomory et executorMomry, définissez la valeur avec l’unité, par exemple 1gb ou 1024mb.
Configurations de Livy prises en charge
POST /batches
Corps de la demande
name | description | type |
---|---|---|
fichier | Fichier contenant l’application à exécuter | Chemin (obligatoire) |
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 | Fichiers jar à 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 du pilote | string |
driverCores | Nombre de cœurs à utiliser pour le processus du 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 destinataire de l’envoi | string |
name | Nom de cette session | string |
conf | Propriétés de configuration de Spark | Mappage clé=valeur |
:- | :- | :- |
Corps de la réponse
Objet de traitement par lots 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 de journal | Liste de chaînes |
state | État du traitement par lots | string |
:- | :- | :- |
Notes
La configuration de Livy assignée s’affiche dans le volet de sortie lors de l’envoi du script.
Fonctionnalités supplémentaires
L’extension Spark & Hive Tools for Visual Studio Code prend en charge les fonctionnalités suivantes :
Saisie semi-automatique IntelliSense. Des 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.
Marqueur d’erreur IntelliSense. Le service de langage souligne les erreurs de modification du script Hive.
Coloration syntaxique. Le service de langage utilise des couleurs différentes pour différencier les variables, les mots clés, les types de données, les fonctions, etc.
Dissocier le cluster
À partir de la barre de menus, accédez à Afficher>Palette de commandes... , puis entrez Spark / Hive: Unlink a cluster (Dissocier un cluster).
Sélectionnez le cluster à dissocier.
Examinez l’affichage OUTPUT (SORTIE).
Étapes suivantes
Pour plus d’informations sur le cluster Big Data SQL Server et les scénarios associés, consultez Clusters Big Data SQL Server.