Metodologie úspěšnosti implementace Synapse: Vyhodnocení návrhu fondu Spark
Poznámka:
Tento článek je součástí úspěchu implementace Azure Synapse podle řady článků. Přehled série najdete v tématu Úspěšné implementace Azure Synapse podle návrhu.
Měli byste vyhodnotit návrh fondu Apache Spark, abyste identifikovali problémy a ověřili, že splňuje pokyny a požadavky. Vyhodnocením návrhu před zahájením vývoje řešení se můžete vyhnout blokování a neočekávaným změnám návrhu. Tímto způsobem chráníte časovou osu a rozpočet projektu.
Apache Spark ve službě Synapse přináší paralelní zpracování dat Apache Sparku do Azure Synapse Analytics. Toto vyhodnocení poskytuje pokyny k tomu, kdy je Apache Spark v Azure Synapse (nebo není) vhodný pro vaši úlohu. Popisuje body, které je potřeba vzít v úvahu při vyhodnocování prvků návrhu řešení, které zahrnují fondy Sparku.
Přizpůsobení analýzy mezer
Při plánování implementace fondů Sparku s Azure Synapse nejprve zajistěte, aby byly nejvhodnější pro vaši úlohu.
Vezměte v úvahu následující body.
- Vyžaduje vaše úloha přípravu dat nebo přípravu dat?
- Apache Spark je nejvhodnější pro úlohy, které vyžadují:
- Čištění dat
- Transformace částečně strukturovaných dat, jako je XML, na relační.
- Komplexní transformace volného textu, jako je párování přibližných shod nebo zpracování přirozeného jazyka (NLP).
- Příprava dat pro strojové učení (ML).
- Apache Spark je nejvhodnější pro úlohy, které vyžadují:
- Zahrnuje vaše úloha přípravy dat nebo přípravy dat složité nebo jednoduché transformace? A hledáte přístup s nízkým kódem nebo bez kódu?
- U jednoduchých transformací, jako je odebrání sloupců, změna datových typů sloupců nebo připojování datových sad, zvažte vytvoření kanálu Azure Synapse pomocí aktivity toku dat.
- Aktivity toku dat poskytují přístup s nízkým kódem nebo bez kódu k přípravě dat.
- Vyžaduje vaše úloha ml u velkých objemů dat?
- Apache Spark funguje dobře pro velké datové sady, které se použijí pro ML. Pokud používáte malé datové sady, zvažte použití služby Azure Machine Learning jako výpočetní služby.
- Plánujete provádět průzkum dat nebo ad hoc analýzu dotazů na velké objemy dat?
- Apache Spark v Azure Synapse poskytuje Python,Scala/SQL/. Zkoumání dat založených na netu Pokud ale potřebujete úplné prostředí jazyka Transact-SQL (T-SQL), zvažte použití bezserverového fondu SQL.
- Máte aktuální úlohu Spark/Hadoop a potřebujete jednotnou platformu pro velké objemy dat?
- Azure Synapse poskytuje jednotnou analytickou platformu pro práci s velkými objemy dat. Existují fondy úloh Sparku a SQL bez serveru pro ad hoc dotazy a vyhrazený fond SQL pro vytváření sestav a obsluhu dat.
- Přechod z úlohy Spark/Hadoop z místního prostředí (nebo jiného cloudového prostředí) může zahrnovat refaktoring, který byste měli vzít v úvahu.
- Pokud hledáte metodu "lift and shift" vašeho prostředí Apache pro velké objemy dat z místního prostředí do cloudu a potřebujete splnit striktní smlouvu o úrovni služeb přípravy dat (SLA), zvažte použití Azure HDInsightu.
Aspekty architektury
Abyste měli jistotu, že váš fond Apache Sparku splňuje vaše požadavky na efektivitu provozu, výkon, spolehlivost a zabezpečení, jsou v architektuře klíčové oblasti, které je potřeba ověřit.
Provozní dokonalost
Z hlediska efektivity provozu vyhodnoťte následující body.
- Prostředí: Při konfiguraci prostředí navrhněte fond Sparku tak, aby využíval funkce, jako je automatické škálování a dynamické přidělování. Pokud chcete snížit náklady, zvažte také povolení funkce automatického pozastavení .
- Správa balíčků: Určete, jestli se požadované knihovny Apache Sparku použijí na úrovni pracovního prostoru, fondu nebo relace. Další informace najdete v tématu Správa knihoven pro Apache Spark ve službě Azure Synapse Analytics.
- Monitorování: Apache Spark ve službě Azure Synapse poskytuje integrované monitorování fondů a aplikací Sparku s vytvářením každé relace Sparku. Zvažte také implementaci monitorování aplikací pomocí Azure Log Analytics nebo Prometheus a Grafany, které můžete použít k vizualizaci metrik a protokolů.
Efektivita výkonu
Z hlediska efektivity výkonu vyhodnoťte následující body.
- Velikost souboru a typ souboru: Velikost souboru a počet souborů mají vliv na výkon. Navrhejte architekturu tak, aby se zajistilo, že typy souborů jsou příznivé pro nativní příjem dat pomocí Apache Sparku. Místo mnoha malých souborů se také přikloňte k menšímu počtu velkých souborů.
- Dělení: Určete, jestli se pro vaši úlohu implementuje dělení na úrovni složky nebo souboru. Oddíly složek omezují množství dat na vyhledávání a čtení. Oddíly souborů snižují množství dat, která se mají prohledávat uvnitř souboru , ale vztahují se pouze na konkrétní formáty souborů, které by se měly brát v úvahu v počáteční architektuře.
Spolehlivost
Z hlediska spolehlivosti vyhodnoťte následující body.
- Dostupnost: Fondy Sparku mají čas zahájení 3 až čtyři minuty. Pokud je instalace mnoha knihoven, může to trvat déle. Při navrhování dávkových a streamovaných úloh identifikujte smlouvu SLA pro provádění úlohy z informací o posouzení a určete, která architektura nejlépe vyhovuje vašim potřebám. Vezměte také v úvahu, že každé spuštění úlohy vytvoří nový cluster fondu Spark.
- Vytváření kontrolních bodů: Streamování Apache Sparku má integrovaný mechanismus vytváření kontrolních bodů. Vytváření kontrolních bodů umožňuje, aby se datový proud zotavil z poslední zpracované položky, pokud na uzlu ve vašem fondu došlo k chybě.
Zabezpečení
Pro zabezpečení vyhodnoťte následující body.
- Přístup k datům: Přístup k datům musí být považován za účet Azure Data Lake Storage (ADLS), který je připojený k pracovnímu prostoru Synapse. Kromě toho určete úrovně zabezpečení potřebné pro přístup k datům, která nejsou v prostředí Azure Synapse. Přečtěte si informace, které jste shromáždili během fáze posouzení.
- Sítě: Zkontrolujte informace o sítích a požadavky shromážděné během posouzení. Pokud návrh zahrnuje spravovanou virtuální síť s Azure Synapse, zvažte důsledky, které tento požadavek bude mít na Apache Spark v Azure Synapse. Jedním z důsledků je nemožnost používat Spark SQL při přístupu k datům.
Další kroky
V dalším článku o úspěchu Azure Synapse podle řady návrhů se dozvíte, jak vyhodnotit plán projektu moderního datového skladu před zahájením projektu.
Další informace o osvědčených postupech najdete v pokynech k Apache Sparku pro Azure Synapse.