možnosti výpočetního kontextu pro služby ML Services ve službě HDInsight
Důležité
Tento obsah je vyřazený a v budoucnu se nebude aktualizovat. Typ clusteru služeb Azure HDInsight 3,6 ML (Machine Learning Server) byl vyřazen od 31. prosince 2020.
služba ML Services v Azure HDInsight řídí, jak se spouštějí volání, a to nastavením výpočetního kontextu. Tento článek popisuje možnosti, které jsou k dispozici pro určení, zda a jakým způsobem je provádění paralelní napříč jádry hraničního uzlu nebo clusteru HDInsight.
Hraniční uzel clusteru poskytuje vhodné místo pro připojení ke clusteru a spouštění skriptů jazyka R. Pomocí hraničního uzlu máte možnost spouštět paralelní distribuované funkce RevoScaleR napříč jádry serveru hraničního uzlu. Můžete je také spouštět v uzlech clusteru pomocí RevoScaleR mapy Hadoop pro redukci nebo Apache Spark výpočetních kontextů.
služby ML ve službě Azure HDInsight
služba ML Services v Azure HDInsight poskytuje nejnovější funkce pro analýzy založené na jazyce R. Může použít data uložená v kontejneru Apache Hadoop HDFS v účtu služby Azure Blob Storage, v Data Lake Store nebo v místním systému souborů Linux. vzhledem k tomu, že služba ML Services je postavená na open source r, aplikace založené na jazyce r můžou použít kterýkoli z balíčků verze 8000 + open-source. můžou také používat rutiny v RevoScaleR, balíček pro analýzy velkých objemů dat od microsoftu, který je součástí služby ML Services.
Kontexty výpočtů pro hraniční uzel
obecně platí, že skript r, který běží v clusteru služby ML Services na hraničním uzlu, běží v překladači r v tomto uzlu. Výjimkou jsou kroky, které volají funkci RevoScaleR. Volání RevoScaleR se spouštějí ve výpočetním prostředí, které je určeno nastavením výpočetního kontextu RevoScaleR. Při spuštění skriptu R z hraničního uzlu jsou možné hodnoty kontextu Compute:
- místní sekvenční (místní)
- místní paralelní (localpar)
- Zmenšit mapování
- Spark
Místní a localpar možnosti se liší pouze v tom, jak se spouštějí volání rxExec . Oba mají paralelní volání funkce RX napříč všemi dostupnými jádry, pokud není uvedeno jinak pomocí možnosti RevoScaleR numCoresToUse , například rxOptions(numCoresToUse=6) . Možnosti paralelního provádění nabízejí optimální výkon.
Následující tabulka shrnuje různé možnosti výpočetního kontextu pro nastavení způsobu spuštění volání:
| Výpočetní kontext | Jak nastavit | Kontext spuštění |
|---|---|---|
| Místní sekvenční | rxSetComputeContext (místní) | Paralelní provádění napříč jádry serveru hraničního uzlu, s výjimkou volání rxExec, která se spouštějí sériově |
| Místní paralelní | rxSetComputeContext('localpar') | Paralelní provádění napříč jádry serveru hraničního uzlu |
| Spark | Výpočetního rxspark () | Paralelní distribuované provádění prostřednictvím Sparku napříč uzly clusteru HDI |
| Zmenšit mapování | RxHadoopMR() | Paralelní distribuované provádění prostřednictvím mapy se zmenšuje v uzlech clusteru HDI. |
Pokyny pro rozhodování o výpočetním kontextu
Který ze tří možností, které si zvolíte, nabízí paralelní provádění, závisí na povaze vaší analýzy, velikosti a umístění vašich dat. Neexistuje žádný jednoduchý vzorec, který vám oznamuje, který výpočetní kontext se má použít. Existují však některé principy použití identifikátoru GUID, které vám pomohou s výběrem správné volby, nebo alespoň k zúžení výběru před spuštěním srovnávacího testu. Principy těchto identifikátorů GUID zahrnují:
- Místní systém souborů Linux je rychlejší než HDFS.
- Opakované analýzy jsou rychlejší, pokud jsou data místní a pokud jsou v XDF.
- Je vhodnější streamovat malé objemy dat z textového zdroje dat. Pokud je množství dat větší, převeďte je do XDF před analýzou.
- Režijní náklady na kopírování nebo streamování dat do hraničního uzlu pro účely analýzy se stávají nespravovatelnými pro velké objemy dat.
- ApacheSpark je rychlejší než omezení map pro analýzu v Hadoop.
V následujících částech jsou uvedené některé obecné pravidla pro výběr výpočetního kontextu.
Místní
- Pokud je objem dat k analýze malý a nevyžaduje opakovanou analýzu, pak ji Streamujte přímo do analytické rutiny pomocí místních nebo localpar.
- Pokud je množství dat k analýze malé nebo středně velké a vyžaduje opakovanou analýzu, zkopírujte ji do místního systému souborů, importujte ji do XDF a analyzujte ji prostřednictvím místních nebo localpar.
Apache Spark
- Pokud je objem dat k analýze velký, importujte ho do datového rámce Spark pomocí RxHiveData nebo RXPARQUETDATA nebo na XDF v HDFS (Pokud se nejedná o problém) a analyzujte ho pomocí výpočetního kontextu Spark.
Zmenšení Apache Hadoop mapy
- Použijte mapování omezit výpočetní kontext jenom v případě, že jste procházeli nepřekonatelným problémem s výpočetním kontextem Spark, protože je obecně pomalejší.
Vložená Pomocník pro rxSetComputeContext
Další informace a příklady RevoScaleR výpočetních kontextů najdete v tématu s vloženou nápovědu v R na metodě rxSetComputeContext, například:
> ?rxSetComputeContext
další informace najdete v tématu přehled distribuovaných výpočtů v dokumentaci Machine Learning Server.
Další kroky
V tomto článku jste se dozvěděli o možnostech, které jsou k dispozici pro určení toho, zda a jak je provádění paralelně v jádrech hraničního uzlu nebo clusteru HDInsight. další informace o tom, jak používat ML služby s clustery HDInsight, najdete v následujících tématech: