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 usługi Azure Data Lake Storage. Ten magazyn obejmuje gen2. Usługi Azure Storage i Data Lake Storage 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. Azure Storage, Data Lake Storage 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 Używanie usługi Azure Storage z usługą HDInsight. Zobacz również Artykuł Use Data Lake Storage Gen2 with HDInsight (Używanie usługi Data Lake Storage Gen2 w usłudze HDInsight).
Wymagania wstępne
Przed rozpoczęciem należy zwrócić uwagę na następujące wymagania:
- Klaster usługi Azure HDInsight. Aby uzyskać instrukcje, zobacz Rozpoczynanie pracy z usługą 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 | ✔ | ✔ | |
Hadoop, polecenie | ✔ | ✔ | ✔ |
Uwaga
Polecenie hadoop jest dostępne tylko w klastrze usługi HDInsight. Polecenie zezwala tylko na ładowanie danych z lokalnego systemu plików do usługi Azure Storage.
Wiersz polecenia usługi Hadoop
Wiersz polecenia usługi 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, musisz 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żesz 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 rzeczywiście w usłudze Azure Storage. Możesz również odwołać się do pliku w następujący sposób:
wasbs:///example/data/data.txt
Or
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. Mimo że działa to dobrze w przypadku korzystania z interfejsów API bazy danych HBase lub interfejsów API REST, użycie hadoop
poleceń lub hdfs dfs
do zapisywania danych większych niż ~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 tych aplikacji:
Klient | Linux | OS X | Windows |
---|---|---|---|
Microsoft Visual Studio Tools for 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 produkcji danych.
Typ magazynu | Dokumentacja |
---|---|
Azure Blob Storage | Kopiowanie danych do lub z usługi Azure Blob Storage za pomocą usługi Azure Data Factory |
(.. /data-factory/connector-azure-data-lake-store.md) | |
Azure Data Lake Storage Gen2 | Ładowanie danych do usługi Azure Data Lake Storage Gen2 za pomocą usługi 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 dane 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 Pobieranie 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: