řešení Azure storage pro služby ML Services v Azure 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.

ML služby ve službě HDInsight můžou používat různá řešení úložiště k uchovávání dat, kódu nebo objektů, které obsahují výsledky z analýz. Tato řešení zahrnují následující možnosti:

Máte také možnost získat přístup k více účtům nebo kontejnerům Azure Storage s clusterem HDInsight. Služba soubory Azure je praktická možnost úložiště dat pro použití na hraničním uzlu, která umožňuje připojit sdílenou složku Azure k systému souborů, například systém souborů Linux. sdílené složky Azure je ale možné připojit a používat jakýmkoli systémem, který má podporovaný operační systém, jako je například Windows nebo Linux.

když vytvoříte cluster Apache Hadoop v HDInsight, zadáte buď účet služby Azure Blob storage , nebo Data Lake Storage Gen1. Konkrétní kontejner úložiště z tohoto účtu obsahuje systém souborů pro cluster, který vytvoříte (například systém souborů DFS (Distributed File System) Hadoop). Další informace a pokyny najdete v těchto tématech:

použití účtů úložiště Azure Blob v clusteru služby ML Services

pokud jste při vytváření clusteru služby ML Services zadali více než jeden účet úložiště, následující pokyny vysvětlují, jak použít sekundární účet pro přístup k datům a operace v clusteru služby ML Services. Předpokládejme následující účty úložiště a kontejner: storage1 a výchozí kontejner s názvem container1 a storage2 s container2.

Upozornění

Pro účely výkonu se cluster HDInsight vytvoří ve stejném datovém centru jako primární účet úložiště, který zadáte. Použití účtu úložiště v jiném umístění, než je cluster HDInsight, se nepodporuje.

použití výchozího úložiště s ML službami v HDInsight

  1. Pomocí klienta SSH se připojte k hraničnímu uzlu clusteru. Informace o použití SSH s clustery HDInsight najdete v tématu Použití SSH se službou HDInsight.

  2. Zkopírujte ukázkový soubor mysamplefile.csv do adresáře/Share.

    hadoop fs –mkdir /share
    hadoop fs –copyFromLocal mycsv.scv /share
    
  3. Přepněte na R Studio nebo jinou konzolu R a napište kód R, abyste nastavili uzel název na výchozí a umístění souboru, ke kterému chcete získat přístup.

    myNameNode <- "default"
    myPort <- 0
    
    #Location of the data:  
    bigDataDirRoot <- "/share"  
    
    #Define Spark compute context:
    mySparkCluster <- RxSpark(nameNode=myNameNode, consoleOutput=TRUE)
    
    #Set compute context:
    rxSetComputeContext(mySparkCluster)
    
    #Define the Hadoop Distributed File System (HDFS) file system:
    hdfsFS <- RxHdfsFileSystem(hostName=myNameNode, port=myPort)
    
    #Specify the input file to analyze in HDFS:
    inputFile <-file.path(bigDataDirRoot,"mysamplefile.csv")
    

Všechny odkazy adresáře a souborů odkazují na účet úložiště wasbs://container1@storage1.blob.core.windows.net . Toto je výchozí účet úložiště , který je přidružený ke clusteru HDInsight.

použití dalšího úložiště s ML službami v HDInsight

Nyní předpokládejme, že chcete zpracovat soubor s názvem mysamplefile1.csv, který je umístěn v adresáři/Private container2 v storage2.

V kódu R nastavte odkaz na uzel název na účet úložiště storage2 .

myNameNode <- "wasbs://container2@storage2.blob.core.windows.net"
myPort <- 0

#Location of the data:
bigDataDirRoot <- "/private"

#Define Spark compute context:
mySparkCluster <- RxSpark(consoleOutput=TRUE, nameNode=myNameNode, port=myPort)

#Set compute context:
rxSetComputeContext(mySparkCluster)

#Define HDFS file system:
hdfsFS <- RxHdfsFileSystem(hostName=myNameNode, port=myPort)

#Specify the input file to analyze in HDFS:
inputFile <-file.path(bigDataDirRoot,"mysamplefile1.csv")

Všechny odkazy adresáře a souborů teď odkazují na účet úložiště wasbs://container2@storage2.blob.core.windows.net . Toto je název uzlu , který jste zadali.

Nakonfigurujte /user/RevoShare/<SSH username> adresář v storage2 následujícím způsobem:

hadoop fs -mkdir wasbs://container2@storage2.blob.core.windows.net/user
hadoop fs -mkdir wasbs://container2@storage2.blob.core.windows.net/user/RevoShare
hadoop fs -mkdir wasbs://container2@storage2.blob.core.windows.net/user/RevoShare/<RDP username>

použití Azure Data Lake Storage Gen1 s clusterem služeb ML

pokud chcete použít Data Lake Storage Gen1 s clusterem HDInsight, musíte vašemu clusteru udělit přístup ke každému Azure Data Lake Storage Gen1, který chcete použít. pokyny, jak pomocí Azure Portal vytvořit cluster hdinsight s Azure Data Lake Storage Gen1 jako výchozí úložiště nebo jako další úložiště, najdete v tématu vytvoření clusteru hdinsight s Data Lake Storage Gen1 pomocí Azure Portal.

Pak použijete úložiště ve skriptu R podobně jako u sekundárního účtu úložiště Azure, jak je popsáno v předchozím postupu.

přidání přístupu k clusteru do Azure Data Lake Storage Gen1

k Data Lake Storage Gen1 přistupujete pomocí instančního objektu služby Azure Active Directory (Azure AD), který je přidružený k vašemu clusteru HDInsight.

  1. Když vytváříte cluster HDInsight, vyberte z karty zdroj dat cluster Azure AD identity .

  2. V dialogovém okně cluster Azure AD identity vyberte v části Vybrat instanční objekt služby Active Directory možnost vytvořit nový.

Když zadáte název instančního objektu a vytvoříte pro něj heslo, klikněte na spravovat přístup adls a přidružte objekt služby k vašemu Data Lake Storage.

Při vytváření clusteru je také možné přidat přístup clusteru k jednomu nebo více Data Lakech účtů Gen1 úložiště. otevřete položku Azure Portal pro Data Lake Storage Gen1 a přejděte na Průzkumník dat > přístup > přidat.

přístup k Data Lake Storage Gen1 ze služby ML Services v HDInsight

jakmile budete mít přístup k Data Lake Storage Gen1, můžete použít úložiště v clusteru služby ML v HDInsight tak, jak byste měli sekundární účet úložiště Azure. Jediným rozdílem je, že předpona wasbs:// změny ADL:// následujícím způsobem:

# Point to the ADL Storage (e.g. ADLtest)
myNameNode <- "adl://rkadl1.azuredatalakestore.net"
myPort <- 0

# Location of the data (assumes a /share directory on the ADL account)
bigDataDirRoot <- "/share"  

# Define Spark compute context
mySparkCluster <- RxSpark(consoleOutput=TRUE, nameNode=myNameNode, port=myPort)

# Set compute context
rxSetComputeContext(mySparkCluster)

# Define HDFS file system
hdfsFS <- RxHdfsFileSystem(hostName=myNameNode, port=myPort)

# Specify the input file in HDFS to analyze
inputFile <-file.path(bigDataDirRoot,"mysamplefile.csv")

následující příkazy se používají ke konfiguraci Data Lake Storage Gen1 v adresáři RevoShare a přidání ukázkového souboru .csv z předchozího příkladu:

hadoop fs -mkdir adl://rkadl1.azuredatalakestore.net/user
hadoop fs -mkdir adl://rkadl1.azuredatalakestore.net/user/RevoShare
hadoop fs -mkdir adl://rkadl1.azuredatalakestore.net/user/RevoShare/<user>

hadoop fs -mkdir adl://rkadl1.azuredatalakestore.net/share

hadoop fs -copyFromLocal /usr/lib64/R Server-7.4.1/library/RevoScaleR/SampleData/mysamplefile.csv adl://rkadl1.azuredatalakestore.net/share

hadoop fs –ls adl://rkadl1.azuredatalakestore.net/share

používání služby soubory Azure s ML službami v HDInsight

K dispozici je také vhodná možnost úložiště dat pro použití na hraničním uzlu s názvem soubory Azure. umožňuje připojení sdílené složky souborů Azure Storage k systému souborů Linux. Tato možnost může být užitečná pro ukládání datových souborů, skriptů R a objektů výsledků, které může být potřeba později, zejména v případě, kdy je vhodné použít nativní souborový systém na hraničním uzlu místo HDFS.

hlavní výhodou souborů Azure je, že sdílené složky je možné připojit a používat v jakémkoli systému, který má podporovaný operační systém, jako je například Windows nebo Linux. Můžete ho například použít v jiném clusteru HDInsight, který vy nebo někdo z týmu používá virtuální počítač Azure, nebo dokonce místní systém. Další informace naleznete v tématu:

Další kroky