Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
.NET pro Apache Spark poskytuje bezplatnou opensourcovou a multiplatformní podporu .NET pro Spark.
Poskytuje vazby .NET pro Spark, které umožňují přístup k rozhraním Spark API prostřednictvím jazyka C# a F#. Pomocí .NET pro Apache Spark můžete také psát a spouštět uživatelem definované funkce pro Spark napsané v .NET. Rozhraní .NET API pro Spark umožňují přístup ke všem aspektům datových rámců Sparku, které vám pomůžou analyzovat data, včetně Spark SQL, Delta Lake a strukturovaného streamování.
Data můžete analyzovat pomocí .NET pro Apache Spark prostřednictvím definic dávkových úloh Sparku nebo pomocí interaktivních poznámkových bloků Azure Synapse Analytics. V tomto článku se naučíte používat .NET pro Apache Spark s Azure Synapse pomocí obou technik.
Důležité
.NET pro Apache Spark je opensourcový projekt v rámci .NET Foundation, který v současné době vyžaduje knihovnu .NET 3.1, která dosáhla stavu mimo podporu. Chceme uživatele Azure Synapse Spark informovat o odebrání knihovny .NET for Apache Spark v modulu Runtime Azure Synapse pro Apache Spark verze 3.3. Další podrobnosti o této záležitosti můžou uživatelé získat v zásadách podpory .NET.
V důsledku toho už uživatelé nebudou moci využívat rozhraní Apache Spark API prostřednictvím C# a F# nebo spouštět kód jazyka C# v poznámkových blocích v rámci Synapse nebo prostřednictvím definic úloh Apache Spark v Synapse. Je důležité si uvědomit, že tato změna má vliv pouze na azure Synapse Runtime pro Apache Spark 3.3 a vyšší.
Budeme i nadále podporovat .NET pro Apache Spark ve všech předchozích verzích modulu Azure Synapse Runtime podle jejich fází životního cyklu. Nemáme ale plány na podporu .NET pro Apache Spark ve službě Azure Synapse Runtime pro Apache Spark 3.3 a budoucí verze. Doporučujeme uživatelům se stávajícími úlohami napsanými v jazyce C# nebo F# migrovat do Pythonu nebo Scaly. Uživatelům doporučujeme, aby si tyto informace vzali na vědomí a plánovali odpovídajícím způsobem.
Odesílání dávkových úloh pomocí definice úlohy Sparku
V tomto kurzu se dozvíte, jak pomocí Azure Synapse Analytics vytvořit definice úloh Apache Sparku pro fondy Synapse Spark. Pokud jste aplikaci nezabalili, abyste ji odeslali do Azure Synapse, proveďte následující kroky.
Nakonfigurujte závislosti vaší
dotnetaplikace pro zajištění kompatibility se službou Synapse Spark. Požadovaná verze .NET Spark bude zaznamenána v rozhraní Synapse Studio v konfiguraci fondu Apache Spark v sadě nástrojů Správa.
Vytvořte projekt jako konzolovou aplikaci .NET, která vypíše spustitelný soubor Ubuntu x86.
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Spark" Version="2.1.0" /> </ItemGroup> </Project>Spuštěním následujících příkazů publikujte aplikaci. Nezapomeňte nahradit mySparkApp cestou k vaší aplikaci.
cd mySparkApp dotnet publish -c Release -f netcoreapp3.1 -r ubuntu.18.04-x64Zazipujte obsah složky publikování,
publish.zipnapříklad vytvořenou v důsledku kroku 1. Všechna sestavení by měla být v kořenovém adresáři souboru ZIP a neměla by existovat žádná vrstva zprostředkující složky. To znamená, že při rozbalenípublish.zipse všechna sestavení extrahují do aktuálního pracovního adresáře.Na Windows:
Pomocí Windows PowerShellu nebo PowerShellu 7 vytvořte .zip z obsahu adresáře publikování.
Compress-Archive publish/* publish.zip -UpdateV Linuxu:
Otevřete prostředí Bash a cd do adresáře bin se všemi publikovanými binárními soubory a spusťte následující příkaz.
zip -r publish.zip
.NET pro Apache Spark v poznámkových blocích Azure Synapse Analytics
Notebooky jsou skvělou volbou pro vytváření prototypů kanálů a scénářů .NET pro Apache Spark. Můžete začít rychle a efektivně pracovat s daty, porozumět jim, filtrovat je, zobrazovat a vizualizovat.
Datoví inženýři, datoví vědci, obchodní analytici a technici strojového učení můžou spolupracovat na sdíleném interaktivním dokumentu. Uvidíte okamžité výsledky průzkumu dat a můžete je vizualizovat ve stejném poznámkovém bloku.
Jak používat .NET pro poznámkové bloky Apache Sparku
Při vytváření nového poznámkového bloku zvolíte jazykové jádro pro realizaci obchodní logiky. Podpora jádra je k dispozici pro několik jazyků, včetně jazyka C#.
Pokud chcete použít .NET pro Apache Spark v poznámkovém bloku Azure Synapse Analytics, vyberte jako jádro .NET Spark (C#) a připojte poznámkový blok k existujícímu bezserverovému fondu Apache Spark.
Poznámkový blok .NET Spark je založený na interaktivních prostředích .NET a poskytuje interaktivní prostředí pro jazyk C# s možností používat .NET pro Spark ihned k použití, přičemž proměnná relace Spark spark je již předdefinována.
Instalace balíčků NuGet v poznámkových blocích
Balíčky NuGet podle vašeho výběru můžete nainstalovat do poznámkového bloku pomocí Magičného příkazu #r nuget před názvem balíčku NuGet. Následující diagram znázorňuje příklad:
Další informace o tom, jak pracovat s balíčky NuGet v poznámkových blocích, najdete v interaktivní dokumentaci k .NET.
.NET pro funkce jádra Apache Spark C#
Při použití .NET pro Apache Spark v poznámkovém bloku Azure Synapse Analytics jsou k dispozici následující funkce:
- Deklarativní HTML: Výstup z buněk můžete vygenerovat pomocí syntaxe HTML, jako jsou nadpisy, seznamy s odrážkami a dokonce zobrazení obrázků.
- Jednoduché příkazy jazyka C# (například přiřazení, tisk do konzoly, vyvolání výjimek atd.)
- Bloky kódu jazyka C# s více řádky (například příkazy if, smyčky foreach, definice tříd atd.).
- Přístup ke standardní knihovně jazyka C# (například System, LINQ, Enumerables atd.).
- Podpora funkcí jazyka C# 8.0
-
sparkjako předdefinovaná proměnná, která vám umožní přístup k relaci Apache Sparku. - Podpora pro definování uživatelem definovaných funkcí .NET, které se dají spouštět v Rámci Apache Sparku. Doporučujeme psát a volat uživatelem definované funkce v .NET pro interaktivní prostředí Apache Spark pro učení, jak používat uživatelem definované funkce v .NET pro interaktivní prostředí Apache Spark.
- Podpora vizualizace výstupu z úloh Sparku pomocí různých grafů (například spojnicových, pruhových nebo histogramů) a rozložení (jako je jeden, překryvný atd.) pomocí
XPlot.Plotlyknihovny. - Možnost zahrnout balíčky NuGet do poznámkového bloku jazyka C#.
Řešení problémů
OutOfMemoryError: Nedostatek místa v haldě Java v org.apache.spark
Dotnet Spark 1.0.0 používá jinou architekturu ladění než verze 1.1.1 výše. Budete muset použít verzi 1.0.0 pro publikovanou verzi a verzi 1.1.1 nebo novější pro místní ladění.