Hochladen von Daten für Apache Hadoop-Aufträge in HDInsight

HDInsight stellt über Azure Storage und Azure Data Lake Storage ein Hadoop Distributed File System (HDFS) zur Verfügung. Dieser Speicher umfasst Gen1 und Gen2. Azure Storage und Data Lake Storage Gen1 und Gen2 sind als HDFS-Erweiterungen konzipiert. Der vollständige Satz von Komponenten in der Hadoop-Umgebung kann direkt für die damit verwalteten Daten verwendet werden. Azure Storage, Data Lake Storage Gen1 und Gen2 sind unterschiedliche Dateisysteme. Die Systeme sind für die Speicherung von Daten und für Berechnungen mit diesen Daten optimiert. Die Vorteile der Verwendung von Azure Storage werden unter Verwenden von Azure Storage mit HDInsight beschrieben. Weitere Informationen finden Sie auch unter Verwenden von Data Lake Storage Gen1 mit HDInsight und Verwenden von Data Lake Storage Gen2 mit HDInsight.

Voraussetzungen

Beachten Sie die folgenden Anforderungen, bevor Sie beginnen:

Hochladen von Daten in Azure Storage

Versorgungsunternehmen

Microsoft bietet die folgenden Hilfsprogramme für die Arbeit mit Azure Storage:

Tool Linux OS X Windows
Azure portal
Azure-Befehlszeilenschnittstelle
Azure PowerShell
AzCopy
Hadoop-Befehl

Hinweis

Der Hadoop-Befehl ist nur für den HDInsight-Cluster verfügbar. Mit dem Befehl können nur Daten aus dem lokalen Dateisystem in Azure Storage geladen werden.

Hadoop-Befehlszeile

Die Hadoop-Befehlszeile eignet sich nur dann zum Speichern von Daten in Azure Storage Blob, wenn die Daten bereits auf dem Hauptknoten des Clusters vorhanden sind.

Um den Hadoop-Befehl verwenden zu können, müssen Sie zunächst mithilfe von SSH oder PuTTY eine Verbindung mit dem Hauptknoten herstellen.

Nachdem die Verbindung hergestellt wurde, verwenden Sie die folgende Syntax, um eine Datei in den Speicher hochzuladen.

hadoop fs -copyFromLocal <localFilePath> <storageFilePath>

Zum Beispiel, hadoop fs -copyFromLocal data.txt /example/data/data.txt

Da sich das Standarddateisystem für HDInsight in Azure Storage befindet, befindet sich die Datei „/example/data/data.txt“ auch tatsächlich in Azure Storage. Sie können auch folgendermaßen auf die Datei verweisen:

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

oder

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

Eine Liste mit weiteren Hadoop-Befehlen, die für Dateien verwendet werden können, finden Sie unter https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html.

Warnung

In Apache HBase-Clustern beträgt die standardmäßige Blockgröße beim Schreiben von Daten 256 KB. Bei Verwendung von HBase-APIs oder REST-APIs funktioniert dies einwandfrei. Die Nutzung der Befehle hadoop oder hdfs dfs zum Schreiben von Daten mit einem Umfang von mehr als ca. 12 GB führt allerdings zu einem Fehler. Weitere Informationen finden Sie unter Speicherausnahme beim Schreiben in ein Blob.

Clients mit grafischer Benutzeroberfläche

Es gibt auch einige Anwendungen, die eine grafische Benutzeroberfläche für die Arbeit mit Azure Storage bereitstellen. In der folgenden Tabelle sind einige dieser Anwendungen aufgelistet:

Client Linux OS X Windows
Microsoft Visual Studio-Tools für HDInsight
Azure Storage-Explorer
Cerulea
CloudXplorer
CloudBerry Explorer für Microsoft Azure
Cyberduck

Einbinden von Azure Storage als lokales Laufwerk

Siehe Mount Azure Storage as Local Drive (Einbinden von Azure Storage als lokales Laufwerk).

Hochladen mithilfe von Diensten

Azure Data Factory

Der Azure Data Factory-Dienst ist ein vollständig verwalteter Dienst für das Kombinieren von Daten: Speicherung, Verarbeitung und Verschiebung von Diensten in optimierte, anpassbare und zuverlässige Datenproduktionspipelines.

Speichertyp Dokumentation
Azure Blob Storage Kopieren von Daten nach oder aus Azure Blob Storage mit Azure Data Factory
Azure Data Lake Storage Gen1 Kopieren von Daten nach und aus Azure Data Lake Storage Gen1 mithilfe von Azure Data Factory
Azure Data Lake Storage Gen2 Laden von Daten in Azure Data Lake Storage Gen2 mit Azure Data Factory

Apache Sqoop

Sqoop ist ein Tool zum Übertragen von Daten zwischen Hadoop und relationalen Datenbanken. Verwenden Sie es, um Daten aus einem Managementsystem für relationale Datenbanken (RDBMS) wie SQL Server, MySQL oder Oracle zu importieren. Importieren Sie sie dann in das Hadoop Distributed File System (HDFS). Transformieren Sie die Daten in Hadoop mit MapReduce oder Hive, und exportieren Sie die Daten dann wieder in ein RDBMS.

Weitere Informationen finden Sie unter Verwenden von Sqoop mit HDInsight.

Entwicklungs-SDKs

Auf Azure Storage kann auch mithilfe eines Azure-SDK über die folgenden Programmiersprachen zugegriffen werden:

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

Weitere Informationen zum Installieren der Azure-SDKs finden Sie unter Azure-Downloads

Nächste Schritte

Jetzt wissen Sie, wie Sie Daten in HDInsight importieren. Lesen Sie in den folgenden Artikeln, um mehr über die Analyse zu erfahren: