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:
- Klaster usługi Azure HDInsight. Aby uzyskać instrukcje, zobacz Wprowadzenie do usługi Azure HDInsight.
- Znajomość następujących artykułów:
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: