Przekazywanie danych dla zadań platformy Apache Hadoop w usłudze HDInsight

Usługa HDInsight udostępnia rozproszony system plików Hadoop (HDFS) za pośrednictwem usługi Azure Storage i Azure Data Lake Storage. Ten magazyn obejmuje generacji 1 i gen2. Usługi Azure Storage i Data Lake Storage Gen1 i Gen2 są zaprojektowane jako rozszerzenia hdFS. Umożliwiają one pełny zestaw składników w środowisku hadoop do działania bezpośrednio na zarządzanych danych. Usługa Azure Storage, Data Lake Storage Gen1 i Gen2 to odrębne systemy plików. Systemy są zoptymalizowane pod kątem przechowywania danych i obliczeń na tych danych. Aby uzyskać informacje o zaletach korzystania z usługi Azure Storage, zobacz Korzystanie z usługi Azure Storage z usługą HDInsight. Zobacz również Używanie Data Lake Storage Gen1 z usługą HDInsight i Używanie Data Lake Storage Gen2 w usłudze HDInsight.

Wymagania wstępne

Przed rozpoczęciem zanotuj następujące wymagania:

Przekazywanie danych do usługi Azure Storage

Narzędzia

Firma Microsoft udostępnia następujące narzędzia do pracy z usługą Azure Storage:

Narzędzie Linux OS X Windows
Witryna Azure Portal
Interfejs wiersza polecenia platformy Azure
Azure PowerShell
AzCopy
Polecenie hadoop

Uwaga

Polecenie hadoop jest dostępne tylko w klastrze usługi HDInsight. Polecenie umożliwia tylko ładowanie danych z lokalnego systemu plików do usługi Azure Storage.

Wiersz polecenia platformy Hadoop

Wiersz polecenia platformy Hadoop jest przydatny tylko do przechowywania danych w obiekcie blob usługi Azure Storage, gdy dane są już obecne w węźle głównym klastra.

Aby użyć polecenia Hadoop, należy najpierw nawiązać połączenie z węzłem głównym przy użyciu protokołu SSH lub PuTTY.

Po nawiązaniu połączenia można użyć następującej składni, aby przekazać plik do magazynu.

hadoop fs -copyFromLocal <localFilePath> <storageFilePath>

Na przykład hadoop fs -copyFromLocal data.txt /example/data/data.txt

Ponieważ domyślny system plików dla usługi HDInsight znajduje się w usłudze Azure Storage, /example/data/data.txt jest w rzeczywistości w usłudze Azure Storage. Możesz również odwoływać się do pliku jako:

wasbs:///example/data/data.txt

lub

wasbs://<ContainerName>@<StorageAccountName>.blob.core.windows.net/example/data/davinci.txt

Aby uzyskać listę innych poleceń usługi Hadoop, które działają z plikami, zobacz https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html

Ostrzeżenie

W klastrach Apache HBase domyślny rozmiar bloku używany podczas zapisywania danych wynosi 256 KB. Chociaż działa to prawidłowo w przypadku używania interfejsów API bazy danych HBase lub interfejsów API REST, użycie hadoop poleceń lub hdfs dfs do zapisywania danych większych niż ok. 12 GB powoduje wystąpienie błędu. Aby uzyskać więcej informacji, zobacz wyjątek magazynu dla zapisu w obiekcie blob.

Klienci graficzni

Istnieje również kilka aplikacji, które udostępniają interfejs graficzny do pracy z usługą Azure Storage. Poniższa tabela zawiera listę kilku z następujących aplikacji:

Klient Linux OS X Windows
Microsoft Visual Studio Tools dla usługi HDInsight
Eksplorator usługi Azure Storage
Cerulea
CloudXplorer
CloudBerry Explorer dla platformy Microsoft Azure
Cyberduck

Instalowanie usługi Azure Storage jako dysku lokalnego

Zobacz Instalowanie usługi Azure Storage jako dysku lokalnego.

Przekazywanie przy użyciu usług

Azure Data Factory

Usługa Azure Data Factory to w pełni zarządzana usługa do tworzenia danych: magazynowania, przetwarzania i przenoszenia usług w usprawnionych, dostosowywanych i niezawodnych potokach produkcyjnych danych.

Typ magazynu Dokumentacja
Azure Blob Storage Kopiowanie danych do lub z usługi Azure Blob Storage za pomocą usługi Azure Data Factory
Usługa Azure Data Lake Storage 1. generacji Kopiowanie danych do lub z Azure Data Lake Storage Gen1 przy użyciu Azure Data Factory
Usługa Azure Data Lake Storage 2. generacji Ładowanie danych do Azure Data Lake Storage Gen2 za pomocą Azure Data Factory

Apache Sqoop

Sqoop to narzędzie przeznaczone do transferu danych między usługą Hadoop i relacyjnymi bazami danych. Służy do importowania danych z systemu zarządzania relacyjnymi bazami danych (RDBMS), takiego jak SQL Server, MySQL lub Oracle. Następnie w rozproszonym systemie plików Hadoop (HDFS). Przekształć dane w usłudze Hadoop przy użyciu technologii MapReduce lub Hive, a następnie wyeksportuj je z powrotem do systemu RDBMS.

Aby uzyskać więcej informacji, zobacz Use Sqoop with HDInsight (Używanie narzędzia Sqoop z usługą HDInsight).

Zestawy SDK programowania

Dostęp do usługi Azure Storage można również uzyskać przy użyciu zestawu Azure SDK z następujących języków programowania:

  • .NET
  • Java
  • Node.js
  • PHP
  • Python
  • Ruby

Aby uzyskać więcej informacji na temat instalowania zestawów SDK platformy Azure, zobacz Pliki do pobrania platformy Azure

Następne kroki

Teraz, gdy już wiesz, jak uzyskać dane w usłudze HDInsight, przeczytaj następujące artykuły, aby dowiedzieć się więcej na temat analizy: