Envoyer des travaux Spark sur des clusters de données volumineuses de SQL Server dans IntelliJSubmit Spark jobs on SQL Server big data clusters in IntelliJ

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2019)nonAzure SQL DatabasenonAzure SQL Data Warehouse nonParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2019)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Un des scénarios clés pour les clusters de données volumineuses de SQL Server est la possibilité d’envoyer des travaux Spark.One of the key scenarios for SQL Server big data clusters is the ability to submit Spark jobs. La fonctionnalité de soumission de travaux Spark vous permet de soumettre des fichiers Jar ou Py locaux avec des références à des clusters de données volumineuses de SQL Server.The Spark job submission feature allows you to submit a local Jar or Py files with references to SQL Server big data clusters. Il vous permet également d’exécuter des fichiers Jar ou Py, ce qui sont trouvent déjà dans le système de fichiers HDFS.It also enables you to execute a Jar or Py files, which are already located in the HDFS file system.

PrérequisPrerequisites

  1. Ouvrez l’outil d’IntelliJ IDEA.Open the IntelliJ IDEA tool.

  2. Si vous utilisez un certificat auto-signé, désactiver la validation du certificat SSL à partir de outils menu, sélectionnez Azure, valider le certificat de SSL de Cluster Spark, puis Désactiver.If you are using self-signed certificate, disable SSL certificate validation from Tools menu, select Azure, Validate Spark Cluster SSL Certificate, then Disable.

    lier le cluster de données volumineux de SQL Server - désactiver le protocole SSL

  3. Ouvrez l’Explorateur Azure à partir de vue menu, sélectionnez Windows de l’outil, puis sélectionnez Azure Explorer.Open Azure Explorer from View menu, select Tool Windows, and then select Azure Explorer.

  4. Cliquez avec le bouton droit sur cluster de données volumineux de SQL Server, sélectionnez cluster de données volumineux de lien de SQL Server.Right click on SQL Server big data cluster, select Link SQL Server big data cluster. Entrez le Server, nom d’utilisateur, et mot de passe, puis cliquez sur OK.Enter the Server, User Name, and Password, then click OK.

    lier un cluster Big Data - boîte de dialogue

  5. Lors de la boîte de dialogue de certificat de serveur non autorisé s’affiche, cliquez sur Accept.When the untrusted server's certificate dialog appears, click Accept. Vous pouvez gérer le certificat ultérieurement, consultez certificats de serveur.You can manage the certificate later, see Server Certificates.

  6. Le cluster lié répertorie sous cluster de données volumineux de SQL Server.The linked cluster lists under SQL Server big data cluster. Vous pouvez analyser la tâche spark en ouvrant l’interface utilisateur de l’historique spark et l’interface utilisateur Yarn, vous pouvez également dissocier, par le bouton droit sur le cluster.You could monitor spark job by opening the spark history UI and Yarn UI, you could also unlink, by right clicking on the cluster.

    lien cluster Big Data - menu contextuel

Créer une application Spark Scala à partir du modèle de HDInsightCreate a Spark Scala application from HDInsight template

  1. Démarrez IntelliJ IDEA et créez un projet.Start IntelliJ IDEA, and then create a project. Dans le nouveau projet boîte de dialogue, suivez étapes ci-dessous :In the New Project dialog box, follow below steps:

    A.a. Sélectionnez Azure Spark/HDInsight > Spark du projet avec des exemples (Scala).Select Azure Spark/HDInsight > Spark Project with Samples (Scala).

    B.b. Dans le outil de génération , sélectionnez une des opérations suivantes, en fonction de vos besoins :In the Build tool list, select either of the following, according to your need:

    • Maven, pour la prise en charge d’Assistant de création de projets ScalaMaven, for Scala project-creation wizard support
    • SBT, pour gérer les dépendances et la génération du projet ScalaSBT, for managing the dependencies and building for the Scala project

    La boîte de dialogue Nouveau projet

  2. Sélectionnez Suivant.Select Next.

  3. L’Assistant de création de projets Scala détecte automatiquement si vous avez installé le plug-in Scala.The Scala project-creation wizard automatically detects whether you've installed the Scala plug-in. Sélectionnez Installer.Select Install.

    Vérification du plug-in Scala

  4. Pour télécharger le plug-in Scala, sélectionnez OK.To download the Scala plug-in, select OK. Suivez les instructions pour redémarrer IntelliJ.Follow the instructions to restart IntelliJ.

    La boîte de dialogue installation plug-in Scala

  5. Dans le nouveau projet fenêtre, procédez comme suit :In the New Project window, do the following steps:

    Sélection du Kit de développement logiciel Spark

    A.a. Entrez un nom de projet et un emplacement.Enter a project name and location.

    B.b. Dans le SDK de projet liste déroulante, sélectionnez Java 1.8 pour le cluster Spark 2.x, ou sélectionnez Java 1.7 pour le cluster Spark 1.x.In the Project SDK drop-down list, select Java 1.8 for the Spark 2.x cluster, or select Java 1.7 for the Spark 1.x cluster.

    c.c. Dans le version Spark liste déroulante, Assistant de création de projets Scala intègre la version correcte pour le Kit de développement logiciel Spark et le SDK Scala.In the Spark version drop-down list, Scala project creation wizard integrates the proper version for Spark SDK and Scala SDK. Si la version de cluster Spark est antérieure à 2.0, sélectionnez Spark 1.x.If the Spark cluster version is earlier than 2.0, select Spark 1.x. Sinon, sélectionnez Spark2.x.Otherwise, select Spark2.x. Cet exemple utilise Spark 2.0.2 (Scala 2.11.8).This example uses Spark 2.0.2 (Scala 2.11.8).

  6. Sélectionnez Terminer.Select Finish.

  7. Le projet Spark crée automatiquement un artefact pour vous.The Spark project automatically creates an artifact for you. Pour afficher l’artefact, procédez comme suit :To view the artifact, do the following steps:

    A.a. Sur le fichier menu, sélectionnez Structure de projet.On the File menu, select Project Structure.

    B.b. Dans le Structure de projet boîte de dialogue, sélectionnez artefacts pour afficher l’artefact par défaut qui est créé.In the Project Structure dialog box, select Artifacts to view the default artifact that is created. Vous pouvez également créer votre propre artefact en sélectionnant le signe plus (+).You can also create your own artifact by selecting the plus sign (+).

    Informations sur l’artefact dans la boîte de dialogue

Soumettre l’application à un cluster de données volumineux de SQL ServerSubmit application to SQL Server big data cluster

Après le lien d’un cluster de données volumineux de SQL Server, vous pouvez soumettre application vers celle-ci.After link a SQL Server big data cluster, you can submit application to it.

  1. Définissez la configuration dans exécuter/déboguer des Configurations fenêtre, cliquez sur + ->Apache Spark sur SQL Server, sélectionnez onglet exécuter à distance dans le Cluster, définissez les paramètres en tant que suivant, puis cliquez sur OK.Set up the configuration in Run/Debug Configurations window, click +->Apache Spark on SQL Server, select tab Remotely Run in Cluster, set the parameters as following, then click OK.

    Console interactive ajouter l’entrée de configuration

    lien cluster Big Data - config

    • Pour Spark clusters (Linux uniquement), sélectionnez le cluster sur lequel vous souhaitez exécuter votre application.For Spark clusters (Linux only), select the cluster on which you want to run your application.

    • Sélectionnez un artefact à partir du projet IntelliJ, ou sélectionnez-en un dans le disque dur.Select an artifact from the IntelliJ project, or select one from the hard drive.

    • Nom de la classe principale champ : La valeur par défaut est la classe principale à partir du fichier sélectionné.Main class name field: The default value is the main class from the selected file. Vous pouvez modifier la classe en sélectionnant les points de suspension (... ) et en choisissant une autre classe.You can change the class by selecting the ellipsis(...) and choosing another class.

    • Configurations de tâche champ : Les valeurs par défaut sont définies en tant qu’image indiqué ci-dessus.Job Configurations field: The default values are set as picture shown above. Vous pouvez modifier la valeur ou ajouter la nouvelle clé/valeur votre soumission de travaux.You can change the value or add new key/value for your job submission. Pour plus d'informations, consultez : Apache Livy API RESTFor more information: Apache Livy REST API

      La signification configuration travail de boîte de dialogue Spark Submission

    • Arguments de ligne de commande champ : Vous pouvez entrer les valeurs d’arguments fractionner par un espace pour la classe principale, si nécessaire.Command line arguments field: You can enter the arguments values split by space for the main class if needed.

    • Référencées des fichiers JAR et fichiers référencés champs : Le cas échéant, vous pouvez entrer les chemins d’accès pour les fichiers et les fichiers JAR référencés.Referenced Jars and Referenced Files fields: You can enter the paths for the referenced Jars and files if any. Pour plus d'informations, consultez : Apache Spark ConfigurationFor more information: Apache Spark Configuration

      Le fichier jar boîte de dialogue Spark Submission fichiers signification

      Notes

      Pour télécharger votre référencé fichiers JAR et les fichiers référencés, reportez-vous à : Comment charger des ressources en clusterTo upload your Referenced JARs and Referenced Files, refer to: How to upload resources to cluster

    • Télécharger le chemin d’accès: Vous pouvez indiquer l’emplacement de stockage pour l’envoi de ressources de projet Jar ou Scala.Upload Path: You can indicate the storage location for the Jar or Scala project resources submission. Il existe plusieurs types de stockage pris en charge : Session interactive Spark permet de charger et WebHDFS usage à téléchargerThere are several storage types supported: Use Spark interactive session to upload and Use WebHDFS to upload

  2. Cliquez sur SparkJobRun pour envoyer votre projet pour le cluster sélectionné.Click SparkJobRun to submit your project to the selected cluster. Le tâche Spark à distance dans le Cluster onglet affiche la progression de l’exécution du travail en bas.The Remote Spark Job in Cluster tab displays the job execution progress at the bottom. Vous pouvez arrêter l’application en cliquant sur le bouton rouge.You can stop the application by clicking the red button.

    cluster de Big Data Link - exécuter

Console de SparkSpark Console

Vous pouvez exécutez Console(Scala) Local Spark ou Console(Scala) de Session Interactive Spark Livy.You can run Spark Local Console(Scala) or run Spark Livy Interactive Session Console(Scala).

Console(Scala) Local SparkSpark Local Console(Scala)

Vérifiez que vous avez respecté la WINUTILS. Condition préalable EXE.Ensure you have satisfied the WINUTILS.EXE prerequisite.

  1. À partir de la barre de menus, accédez à exécuter > modifier les Configurations... .From the menu bar, navigate to Run > Edit Configurations....

  2. À partir de la exécuter/déboguer des Configurations fenêtre, dans le volet gauche, accédez à Apache Spark sur un cluster de données volumineux de SQL Server > [Spark sur SQL] myApp.From the Run/Debug Configurations window, in the left pane, navigate to Apache Spark on SQL Server big data cluster > [Spark on SQL] myApp.

  3. Dans la fenêtre principale, sélectionnez le exécuter localement onglet.From the main window, select the Locally Run tab.

  4. Entrez les valeurs suivantes, puis sélectionnez OK:Provide the following values, and then select OK:

    PropriétéProperty ValueValue
    Classe principale du travailJob main class La valeur par défaut est la classe principale à partir du fichier sélectionné.The default value is the main class from the selected file. Vous pouvez modifier la classe en sélectionnant les points de suspension (... ) et en choisissant une autre classe.You can change the class by selecting the ellipsis(...) and choosing another class.
    Variables d'environnementEnvironment variables Vérifiez que la valeur de HADOOP_HOME est correcte.Ensure the value for HADOOP_HOME is correct.
    Emplacement de WINUTILS.exeWINUTILS.exe location Vérifiez que le chemin d’accès est correct.Ensure the path is correct.

    Configuration du jeu Console locale

  5. À partir du projet, accédez à myApp > src > principal > scala > myApp.From Project, navigate to myApp > src > main > scala > myApp.

  6. À partir de la barre de menus, accédez à outils > Spark Console > Console(Scala) locales de Spark exécuter.From the menu bar, navigate to Tools > Spark Console > Run Spark Local Console(Scala).

  7. Ensuite, deux boîtes de dialogue peuvent s’afficher pour vous demander si vous souhaitez auto fixer des dépendances.Then two dialogs may be displayed to ask you if you want to auto fix dependencies. Dans ce cas, sélectionnez correction automatique.If so, select Auto Fix.

    Fix1 automatique de Spark

    Fix2 automatique de Spark

  8. La console doit ressembler à l’image ci-dessous.The console should look similar to the picture below. Dans le type de fenêtre de console sc.appName, puis appuyez sur ctrl + entrée.In the console window type sc.appName, and then press ctrl+Enter. Le résultat s’affichera.The result will be shown. Vous pouvez mettre fin à la console locale en cliquant sur le bouton rouge.You can terminate the local console by clicking red button.

    Résultat de la Console locale

Spark Console(Scala) de Session Interactive LivySpark Livy Interactive Session Console(Scala)

Le Console(Scala) de Session Interactive Spark Livy est uniquement pris en charge IntelliJ 2018.2 et 2018.3.The Spark Livy Interactive Session Console(Scala) is only supported on IntelliJ 2018.2 and 2018.3.

  1. À partir de la barre de menus, accédez à exécuter > modifier les Configurations... .From the menu bar, navigate to Run > Edit Configurations....

  2. À partir de la exécuter/déboguer des Configurations fenêtre, dans le volet gauche, accédez à Apache Spark sur un cluster de données volumineux de SQL Server > [Spark sur SQL] myApp.From the Run/Debug Configurations window, in the left pane, navigate to Apache Spark on SQL Server big data cluster > [Spark on SQL] myApp.

  3. Dans la fenêtre principale, sélectionnez le exécuter à distance dans le Cluster onglet.From the main window, select the Remotely Run in Cluster tab.

  4. Entrez les valeurs suivantes, puis sélectionnez OK:Provide the following values, and then select OK:

    PropriétéProperty ValueValue
    Clusters Spark (Linux uniquement)Spark clusters (Linux only) Sélectionnez le cluster Big Data de SQL Server sur lequel vous souhaitez exécuter votre application.Select the SQL Server Big Data cluster on which you want to run your application.
    Nom de la classe principaleMain class name La valeur par défaut est la classe principale à partir du fichier sélectionné.The default value is the main class from the selected file. Vous pouvez modifier la classe en sélectionnant les points de suspension (... ) et en choisissant une autre classe.You can change the class by selecting the ellipsis(...) and choosing another class.

    Configuration du jeu Console interactive

  5. À partir du projet, accédez à myApp > src > principal > scala > myApp.From Project, navigate to myApp > src > main > scala > myApp.

  6. À partir de la barre de menus, accédez à outils > Spark Console > exécuter Spark Livy Interactive Session Console(Scala).From the menu bar, navigate to Tools > Spark Console > Run Spark Livy Interactive Session Console(Scala).

  7. La console doit ressembler à l’image ci-dessous.The console should look similar to the picture below. Dans le type de fenêtre de console sc.appName, puis appuyez sur ctrl + entrée.In the console window type sc.appName, and then press ctrl+Enter. Le résultat s’affichera.The result will be shown. Vous pouvez mettre fin à la console locale en cliquant sur le bouton rouge.You can terminate the local console by clicking red button.

    Résultat de la Console interactive

Envoyer la sélection à la Console de SparkSend Selection To Spark Console

Pour plus de commodité, vous pouvez voir le résultat du script en envoyant du code à la Console locale ou Console(Scala) de Session Interactive Livy.For convenience, you can see the script result by sending some code to the Local Console or Livy Interactive Session Console(Scala). Vous pouvez mettre en surbrillance du code dans le fichier Scala, puis cliquez sur envoyer la sélection à la Console de Spark.You can highlight some code in the Scala file, then right-click Send Selection To Spark Console. Le code sélectionné sera envoyé à la console et être effectué.The selected code will be sent to the console and be performed. Le résultat s’affichera après le code dans la console.The result will be displayed after the code in the console. La console vérifie les erreurs si existant.The console will check the errors if existing.

Envoyer la sélection à la Console de Spark

Étapes suivantesNext steps

Pour plus d’informations sur le cluster de données volumineux de SQL Server et les scénarios associés, consultez que sont les clusters de données volumineuses de SQL Server 2019?For more information on SQL Server big data cluster and related scenarios, see What are SQL Server 2019 big data clusters?