Fermer

juin 21, 2022

Apache Spark pour .Net – Coup de pied

Apache Spark pour .Net – Coup de pied


Apache Spark :

Apache Spark est un moteur de traitement distribué à usage général pour l’analyse de grands ensembles de données – généralement des téraoctets ou des pétaoctets de données. Apache Spark peut être utilisé pour traiter des données par lots, des flux en temps réel, l’apprentissage automatique et des requêtes ad hoc.

Les tâches de traitement sont réparties sur un cluster de nœuds et les données sont mises en cache en mémoire pour réduire le temps de calcul.

.Net pour Apache Spark :

Avec .Net pour Apache Spark, la prise en charge gratuite, open source et multiplateforme de .Net pour le framework d’analyse de données volumineuses open source populaire, nous pouvons ajouter les fonctionnalités d’Apache Spark aux applications de données volumineuses en utilisant des langages que nous connaissons déjà. .Net pour Apache Spark permet aux développeurs d’avoir une expérience .Net, peut contribuer et bénéficier de l’analyse du Big Data. .Net pour Apache Spark fournit des API hautes performances pour utiliser Spark à partir de C# et F#. Avec C# et F#, nous pouvons accéder à :

  • Dataframe et SparkSQL pour travailler avec des données structurées
  • Spark Structured Streaming pour travailler avec du contenu en streaming
  • Spark SQL pour écrire des requêtes avec une syntaxe SQL familière
  • Intégration de l’apprentissage automatique pour une formation et une prédiction plus rapides

.Net pour Apache Spark s’exécute sur Windows, Linux et macOS en utilisant .Net Core, qui est déjà un framework multiplateforme. Nous pouvons déployer nos applications sur tous les principaux fournisseurs de cloud, notamment Azure HDInsights, Amazon EMR Spark, Azure Databricks et Databricks sur AWS. Pour la commodité de notre discussion, nous discuterons de nos échantillons en langage C # au profit des principaux publics.

Architecture

Configuration de l’environnement de développement selon les instructions données dans le lien ci-dessous,

Démarrer avec .NET pour Apache Spark | Documents Microsoft

Une fois que Spark, .Net pour Apache Spark sont installés avec succès dans le système d’exploitation Windows, exécutez la commande ci-dessous pour vous assurer que Spark fonctionne correctement,

Command prompt (administrator)> spark-shell

console 1

Une session Spark active sera lancée avec succès et prête à être utilisée comme ci-dessus.

Créez une application console ciblant le framework .Net Core 3.1.

Ajouter le package Nuget « Microsoft.Spark » au projet

Nugetpackage

Une fois le package ajouté, les bibliothèques jar sont répertoriées comme ci-dessous dans le projet Visual Studio.

Microsoftjars

Dans le fichier de classe Program.cs, écrivez le code ci-dessous et enregistrez,

using System;
using Microsoft.Spark.Sql;
using static Microsoft.Spark.Sql.Functions;

namespace DemoSparkConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            SparkSession spark = SparkSession.Builder().AppName("package_tracker").GetOrCreate();
            string fileName = args[0];
            // Load CSV data
            spark.Read().Option("header", "true").Csv(fileName).CreateOrReplaceTempView("Packages");
            DataFrame sqlDf = spark.Sql("SELECT PackageId, SenderName, OriginCity, DestinationCity, Status, DeliveryDate FROM Packages");
            sqlDf.Show();
            spark.Stop();         // Stop spark session
        }
    }
}

Générez le projet et accédez au chemin de débogage. Localisez le fichier DLL du projet et microsoft-spark-3-1_2.12-2.1.0.jar qui sera responsable de l’exécution du programme spark,

Applicationdll

Assurez-vous que la version de la DLL microsoft-spark correspond à la version de Microsoft Spark Worker extraite dans le répertoire local comme ci-dessous,

Étincelle

Commande Spark pour soumettre la tâche :

Syntaxe:

spark-submit --class org.apache.spark.deploy.dotnet.DotnetRunner --master local microsoft-spark-3-0_2.12-<Version_of_.Net_Worker>.jar dotnet <ApplicationName>.dll <input_file_name>

Accédez au chemin du dossier de construction de la sortie de l’application console dans Powershell (mode administrateur) et exécutez la commande ci-dessous :

spark-submit --class org.apache.spark.deploy.dotnet.DotnetRunner --master local microsoft-spark-3-0_2.12-2.1.0.jar dotnet DemoSparkConsole.dll packages.csv

Fichier d’entrée à lire : packages.csv

Des données d'entrée

Trame de données de sortie :

Trame de données






Source link