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: