Dieser Artikel wurde maschinell übersetzt.

Windows Azure

Hadoop auf Windows Azure

Lynn Langit

 

Es gab eine Menge Begeisterung über Hadoop in letzter Zeit und Interesse an der Nutzung es extrem großen Datenmengen zu verarbeiten scheint von Tag zu Tag wachsen. In diesem Sinne werde ich Ihnen zeigen, wie ein Hadoop-Cluster auf Windows Azure eingerichtet. Dieser Artikel setzt grundlegende Kenntnisse mit Hadoop Technologien voraus. Wenn Sie neu in Hadoop, siehe "was Hadoop?" Während ich dies schreibe ist Hadoop auf Windows Azure in private Beta. Um eine Einladung zu erhalten, besuchen Sie hadooponazure.com. Die Beta-Version ist kompatibel mit Apache Hadoop (Snapshot 0.20.203+).

Was ist Hadoop?

Hadoop ist eine open-Source-Bibliothek entwickelt, um Batch-Prozess riesige Datenmengen parallel. Es basiert auf dem Hadoop verteilten Dateisystem (bietet), und besteht aus benötigter Bibliotheken für das Arbeiten mit Daten in Clustern gespeichert. Diese Batchprozesse laufen mit einer Reihe von verschiedenen Technologien wie Map/Reduce Arbeitsplätze, und können in Java oder anderen höheren Programmiersprachen wie Schwein geschrieben werden. Es gibt auch Sprachen, die zum Abfragen von Daten gespeichert in einem Hadoop-Cluster verwendet werden können. Die am häufigsten verwendete Sprache für Abfrage ist HQL über Hive.  Besuchen Sie für weitere Informationen hadoop.apache.org.

Einrichten des Clusters

Sobald Sie eingeladen sind, an der Beta teilnehmen, können Sie Ihre Hadoop-Cluster einrichten. Gehen Sie zu hadooponazure.com und melden Sie sich mit Ihrem autorisierten Windows Live ID. Als nächstes füllen Sie die Dialogfelder auf dem Web-Portal mit den folgenden Werten:

  1. (DNS) Clustername: Geben Sie den Namen in der Form "< Ihre eindeutige Zeichenfolge > .cloudapp. NET".
  2. Cluster-Größe: Wählen Sie die Anzahl der Knoten, von 4 bis 32, und ihre zugeordneten Speicher Zuweisungen, von 2 TB bis 16 TB pro Cluster.
  3. Administrator-Benutzernamen und Passwort: Geben Sie einen Benutzernamen und ein Passwort; Passwort Komplexität Einschränkungen sind auf der Seite aufgeführt. Und wenn dies eingestellt ist, können Sie über remote-Desktop oder über Excel verbinden.
  4. Konfigurationsinformationen für eine Instanz von SQL Azure: Dies ist eine Option zum Speichern der Hive Metastore. Wenn es aktiviert ist, müssen Sie die URL zu Ihrem SQL Azure-Serverinstanz, sowie den Namen des Ziel-Datenbank und der Anmeldeinformationen angeben. Die Anmeldung, die Sie angeben müssen die folgenden Berechtigungen auf der Zieldatenbank: Ddl_ddladmin, Ddl_datawriter, Ddl_datareader.

Nachdem Sie diese Informationen eingegeben haben, klicken Sie auf Anforderung Cluster. Sie sehen eine Reihe von Status-Updates in das Web-Portal als Cluster (genannt Isotop in der Beta) reserviert wird, erstellt und gestartet. Für jeden Cluster, die Sie zuordnen, sehen Sie viele Arbeiter-Knoten und ein Head-Knoten, die auch den NameNode ist.

Nach einiger Zeit (fünf bis 30 Minuten nach meiner Erfahrung) wird das Portal aktualisiert, um anzuzeigen, dass Ihr Cluster zugewiesenen und einsatzbereit ist. Entdecken Sie dann einfach die Metro-Oberfläche (durch die großen Schaltflächen klicken) zu sehen, welche Arten von Datenverarbeitung und Verwaltungsaufgaben ausführen können (siehe Abbildung 1). Zusätzlich zu das Web-Portal für die Interaktion mit Ihrem Cluster, sollten Sie die verfügbaren Ports (standardmäßig geschlossen) öffnen für FTP- oder ODBC-Server-Zugriff. Ich werde einige alternativen Methoden der Verbindung in ein wenig erläutern.

The Windows Azure Hadoop Portal
Abbildung 1 das Windows-himmelblau Hadoop-Portal

Ihr Cluster Abschnitt des Portals führen Sie grundlegende Verwaltungsaufgaben wie das Konfigurieren des Zugriffs auf den Cluster, Daten importieren und Verwalten des Clusters über die interaktive Konsole. Die interaktive Konsole unterstützt JavaScript oder Hive. Als Abbildung 1 zeigt, können Sie auch Abschnitt Ihre Aufgaben zugreifen. Hier können Sie ausführen, dass einen MapReduce Stelle (über eine .jar-Datei) und sehen den Status jeder MapReduce-Arbeitsplätze, auf denen ebenso wie die kürzlich abgeschlossen haben.

Portal Schaltflächen anzuzeigen, Informationen über drei kürzlich abgeschlossenen MapReduce-Jobs: C#-Streaming beispielsweise Word Count Beispiel und 10 GB Terasort Beispiel. Jede Schaltfläche zeigt den Status der Karte und die Reduce-Teil eines Auftrags. Es gibt mehrere andere Optionen zum Anzeigen des Status von laufenden (oder abgeschlossene) MapReduce-Jobs direkt aus dem Portal und über andere Medien mit Ihren Cluster, z. B. Remote Desktop Protocol (RDP) zu verbinden.

Verbindung zu Ihren Daten

Sie können Daten zur Verfügung stellen um Ihre Hadoop auf Windows Azure-Cluster in einer Reihe von Möglichkeiten, unter anderem direkt hochladen auf den Cluster und den Zugriff auf Daten in anderen Speicherorten gespeichert.

Obwohl FTP Laden theoretisch beliebige Datendateien Größe erlaubt, ist die bewährte Methode zum Hochladen von Dateien, die in einem unteren GB Größe-Bereich sind. Wenn Sie Batch-Jobs auf Daten außerhalb von Hadoop ausführen möchten, müssen Sie zunächst ein paar Konfigurationsschritte durchführen. Um Verbindungen von außen einzurichten, klicken Sie auf Cluster verwalten auf dem Hauptportal und konfigurieren Sie die Speicherorte, die Sie, wie ein Windows Azure Blob-Speicherort, ein Windows-Azure-Daten-Markt-Abfrageergebnis oder ein Amazon Web Services (AWS) S3-Speicherort verwenden möchten:

  1. Um eine Verbindung zu einem AWS S3 Eimer zu konfigurieren, geben Sie Ihren Sicherheitsschlüssel (sowohl öffentliche als auch private) damit Sie in Ihrem Hadoop-Cluster auf S3 gespeicherte Daten zugreifen können.
  2. Um mit Daten aus der Windows-Azure-Daten-Markt arbeiten, geben Sie Werte für Username (WLID), Hauptschlüssel (für die Datenquelle, die Sie Abfragen und importieren möchten), Quelle (Auszug) Abfrage und (Ziel) Bienenkorb Tabellennamen. Achten Sie darauf, den Parameter für die Abfrage Standardlimit (100 Zeilen) aus der Abfrage durch die Tools auf dem Markt Daten generiert werden, bevor Sie die Abfrage geben Sie in das Textfeld auf dem Cluster zu entfernen.
  3. Um Daten in Windows Azure Blob-Speicher zuzugreifen, müssen Sie den Speicher-Kontonamen (URL) auf die Blob-Speicherorte und Ihren Zugriffscode (privater Schlüssel) Wert eingeben.

Ausführung einer MapReduce-Job

Nach Überprüfung Ihrer Hadoop-Cluster einrichten und Ihre Daten verfügbar zu machen, möchten Sie wahrscheinlich starten Knirschen diese Daten durch eine oder mehrere MapReduce Aufträge ausführen. Die Frage ist, wie am besten anfangen? Wenn Sie neu in Hadoop, gibt es einige Beispiele, die Sie ausführen können, um ein Gefühl was möglich ist. Sie können anzeigen und führen Sie einen der folgenden Beispiele klicken Sie auf dem Web-Portal.

Wenn Sie Erfahrung im Umgang mit Hadoop Techniken und Ihren eigenen MapReduce-Job ausgeführt werden soll, gibt es mehrere Methoden. Die Methode, die Sie auswählen, hängt von Ihrer Vertrautheit mit den Hadoop-Tools (z. B. die Hadoop-Eingabeaufforderung) und Ihre bevorzugte Sprache. Java, Schwein, JavaScript oder c# können einen ausführbaren MapReduce-Job für Hadoop auf Windows Azure zu schreiben.

Ich verwende im Word Count-Beispiel veranschaulicht, wie einen MapReduce-Job von Portal über eine .jar-Datei ausgeführt. Wie man erwarten könnte, diesen Job zählt Wörter für etwas Input – in diesem Beispiel eine große Textdatei (den Inhalt eines gesamten veröffentlichten Buches) — und gibt das Ergebnis. Klicken Sie auf Beispiele, dann WordCount um die Konfigurationsseite Stelle auf dem Portal zu öffnen wie in Abbildung 2.

Setting Up the WordCount Sample
Abbildung 2 Einrichten der WordCount-Beispiel

Sie sehen zwei konfigurierbare Parameter für diesen Job, eine für die Funktion (Wortzahl) und die andere für die Quelldaten (Textdatei). Die Quelldaten (Parameter 1) beinhaltet nicht nur den Namen der Eingabedatei, sondern auch den Pfad zum Speicherort. Dieser Pfad zur Datenquelldatei kann Text sein kann, oder es "lokalen", was bedeutet, dass die Datei auf diesem Windows-Azure Hadoop-Cluster gespeichert ist. Alternativ können die Quelldaten aus AWS S3 abgerufen werden (über die S3n: / / oder die S3: / / Protokoll), aus der Windows Azure Blob-Speicher (über den ASV: / / Protokoll) oder aus dem Windows Azure Daten Markt (vom ersten Import der gewünschten Daten mithilfe einer Abfrage) oder direkt aus dem bietet abgerufen werden Speicher. Nachdem Sie den Pfad zu einem remote-Standort eingeben, klicken Sie auf die Prüfung-Symbol (Dreieck) und Sie sollten eine OK-Meldung erhalten, wenn Sie eine Verbindung herstellen können, wobei die Zeichenfolge bereitgestellt.

Nachdem Sie die Parameter konfiguriert haben, klicken Sie auf Auftrag ausführen. Hier finden Sie eine Reihe von Möglichkeiten, beide Job-Status zu überwachen, wie der Job ausführen und Job-Ergebnisse nach Abschluss des Auftrags. Auf der Hauptseite des Portals zeigt Abschnitt Ihre Aufgaben eine Schaltfläche mit dem Status der aktuellsten Jobs beispielsweise während der Ausführung und nach Fertigstellung. Für jeden Auftrag anzeigen den Namen des Auftrags, Prozentsatz für die Karte und die Reduce-Teile während der Ausführung und den Status (OK, Fehler und so weiter) nach Auftragsabschluss wird eine neue Schaltfläche hinzugefügt.

Die Job-Historie-Seite, die aus dem Abschnitt Manage Your Account der Hauptseite man kann, finden Sie weitere Details über den Job, einschließlich des Texts (Skript) verwendet, um den Job und den Status, mit Datums-und Uhrzeitinformationen auszuführen. Sie können den Link für jeden Auftrag, der sogar noch mehr Informationen über Auftragsausführung klicken.

Entscheiden Sie sich für ein Beispiel auszuführen, müssen Sie die detaillierten Anweisungen für diese besondere Probe lesen. Einige Beispiele aus dem Web-Portal ausgeführt werden können (Ihre Aufgaben | Auftrag erstellen); andere wiederum erfordern eine RDP-Verbindung zum Cluster.

Mit Hilfe von JavaScript zum Ausführen von Aufträgen

Klicken Sie auf die interaktive Konsole die JavaScript-Konsole geöffnet. Hier können Sie MapReduce Aufträge ausführen, durch Ausführen von .jar-Dateien (Java) einen Schwein-Befehl von der Eingabeaufforderung ausführen oder durch Schreiben und Ausführen von MapReduce Arbeitsplätze direkt in JavaScript.

Sie können auch direkt hochladen Quelldaten aus der Js > Eingabeaufforderung mit dem Befehl fs.put. Dieser Befehl öffnet ein Dialogfeld, in dem Sie eine Datei zum Hochladen auf Ihren Cluster auswählen können. IIS beschränkt die Größe der Datei, die Sie über die JavaScript-Konsole auf 4 GB hochladen können.

Sie können auch aus anderen Filialen (z. B. Windows Azure Blobs) oder von anderen Anbietern Wolke Quelldaten verwenden. Um mit Quelldaten aus AWS S3 zu umgehen, verwenden Sie eine Anforderung in der Format-s3n: / / < Eimer Name > / < Ordnername >.

Mit der JavaScript-Konsole können Sie überprüfen Konnektivität zu Ihren AWS S3-Eimer mit dem # ls-Befehl und die Eimer-Adresse wie folgt:

JS > # ls s3n: / / HadoopAzureTest/Bücher

2 Einträge gefunden

-Rwxrwxrwx 1 0 2012-03-30 00:20 / Bücher

-Rwxrwxrwx 1 1395667 2012-03-30 00:22 /Books/davinci.txt

 

Wenn Sie dies tun, sollten Sie eine Liste des Inhalts (Ordner und Dateien) Ihren Eimer wie in diesem Beispiel erhalten.

Wenn Sie den Inhalt der Quelldatei zu überprüfen, bevor Sie Ihren Auftrag ausführen möchten, können Sie von der Konsole mit dem Befehl #cat tun:

JS > #Cat s3n://HadoopAzureTest/Books/davinci.txt

 

Nachdem Sie überprüft haben, dass Sie mit Ihren Quelldaten herstellen können, sollten Sie Ihren MapReduce-Job ausführen. Im folgenden finden die JavaScript-Syntax für den Word Count Beispiel MapReduce-Job (mit eine .jar-Datei):

var map = function (key, value, context) {
  var words = value.split(/[^a-zA-Z]/);
  for (var i = 0; i < words.length; i++) {
    if (words[i] !== "") {
      context.write(words[i].toLowerCase(), 1);
    }
  }
};
var reduce = function (key, values, context) {
  var sum = 0;
  while (values.hasNext()) {
    sum += parseInt(values.
next());
  }
  context.write(key, sum);
};

In der Karte Teil teilt das Skript den Quelltext in einzelne Wörter; im Bereich reduzieren sind identische Wörter gruppiert und dann gezählt. Schließlich entsteht eine (Zusammenfassung) Ausgabedatei mit die besten Worte von Count (und die Anzahl der Wörter). Um diesen Job WordCount direkt über die interaktive JavaScript-Konsole ausführen, starten Sie mit dem Schwein-Schlüsselwort gibt an, dass ein Schwein-Auftrag ausgeführt werden soll. Als Nächstes rufen Sie die Methode, die ist in dem Sie den Speicherort der Quelldaten übergeben. Ich werde in diesem Fall führen Sie den Vorgang über Remote gespeicherten Daten — in AWS S3.

Jetzt Sie auf dem Schwein-Job die MapReduce-Methode aufrufen, übergeben den Namen der Datei mit den JavaScript-Code für diesen Job, gehören­Ing die erforderlichen Parameter. Die Parameter für diesen Job sind die Methode der bricht des Textes — auf jedes Wort — Wert und der Datentyp der reduzieren-Aggregation. In diesem Fall ist die Anzahl (Summe) der Datentyp lang.

Dann geben Sie die Ausgabe-Reihenfolge der Methode OrderBy, wieder in den Parametern übergeben; Hier wird die Anzahl der einzelnen Gruppen von Wörtern in absteigender Reihenfolge ausgegeben. Im nächsten Schritt die Take-Methode gibt an, wie viele aggregierte Werte zurückgegeben werden sollen – in diesem Fall die 10 am häufigsten vorkommende Wörter. Schließlich rufen Sie die Methode übergibt den Namen der Ausgabedatei, die Sie erzeugen wollen. Hier ist die vollständige Syntax für diesen Auftrag auszuführen:

pig.from("s3n://HadoopAzureTest/Books").mapReduce("WordCount.js", "word, count:long").orderBy("count DESC").take(10).to("DaVinciTop10Words.txt")

 

Wie der Auftrag ausgeführt wird, sehen Sie Status-Updates im Browser — die Prozent komplett der ersten Karte und dann die Arbeit reduzieren. Sie können auch einen Link zu einem anderen Browser-Fenster zu öffnen, wo Sie eine detailliertere Protokollierung über den Fortschritt der Arbeit sehen klicken. Innerhalb von ein paar Minuten sehen Sie eine Meldung angezeigt, die Arbeit erfolgreich abgeschlossen. Um die Auftragsausgabe weiter zu überprüfen, können Sie eine Reihe von Befehlen in der JavaScript-Konsole ausführen.

Der erste Befehl, fs.read, zeigt die Ausgabedatei zeigt die Top-10-Worte und die Gesamtzahl der einzelnen in absteigender Reihenfolge. Der nächste Befehl, analysieren, zeigt die gleichen Informationen und füllt die Datenvariable mit der Liste. Der letzte Befehl, graph.bar, zeigt ein Balkendiagramm der Ergebnisse. Hier ist, was diese Befehle aussehen:

JS > Datei = fs.read("DaVinciTop10Words.txt")

JS > Daten analysieren (file.data, "Wort, Graf: lange") =

JS > Graph.Bar(Data)

 

Ein interessanter Aspekt der mit JavaScript MapReduce Aufträge ausführen ist die aufgefasst des JavaScript-Codes im Vergleich zu Java. Der MapReduce WordCount-Beispiel Java Job enthält mehr als 50 Zeilen Code, aber das JavaScript-Beispiel enthält nur 10 Zeilen. Die Funktionalität der beiden Arbeitsplätze ist ähnlich.

Verwendung von c# mit Hadoop Streaming

Eine andere Möglichkeit Sie MapReduce im Hadoop auf Windows Azure ausgeführt werden können ist über C#-Streaming. Ein Beispiel zeigt, wie Sie dazu auf dem Portal finden Sie hier. Als mit dem vorherigen Beispiel müssen um diesem Beispiel testen Sie laden Sie die benötigten Dateien (davinci.txt, cat.exe und wc.exe) an einem Speicherort speichern, z. B. bietet, ASV oder S3. Außerdem müssen Sie die IP-Adresse von Ihrem Hadoop HEADNODE erhalten. Um den Wert mithilfe der interaktiven Konsole zu erhalten, führen Sie diesen Befehl:

JS > #cat apps/dist/conf/core-site.xml

 

Füllen Sie die Werte auf der Stelle-Läufer-Seite; der letzte Befehl wird folgendermaßen aussehen:

Hadoop Hadoop-Beispiele-0.20.203.1-SNAPSHOT.jar jar

-Dateien "hdfs:///example/apps/wc.exe,hdfs:///example/apps/cat.exe"

-Eingabe "/ example/data/davinci.txt"

-Ausgabe "/ example/data/StreamingOutput/wc.txt"

-Mapper "cat.exe"

-Reduzierer "wc.exe"

 

Im Beispiel sind die Mapper und den Abschwächer ausführbare Dateien, die die Eingabe von Stdin, Zeile für Zeile, zu lesen und die Ausgabe auf Stdout ausgeben. Diese Dateien erzeugen einen Map/Reduce-Job, die Cluster für Ausführung vorgelegt wird. Sowohl die Mapper-Datei cat.exe, und Abschwächer-Datei, wc.exe, sind Abbildung 3.

The Mapper and Reducer Files
Abbildung 3 die Mapper und Reducer Dateien

So funktioniert der Job. Zuerst wird die Mapper-Datei als einen Prozess auf Mapper Aufgabe Initialisierung gestartet. Liegen mehrere Mappern, wird jeweils als separater Prozess bei der Initialisierung gestartet. In diesem Fall gibt es nur einen einzigen Mapper-file—cat.exe. Auf Exe­Cution, die Mapper Aufgabe wandelt die Eingabe in Linien und speist diese Zeilen auf den Stdin Teil der MapReduce-Job. Als nächstes sammelt der Mapper die Linie von Stdout ausgibt und wandelt jede Zeile in ein Schlüssel/Wert-Paar. Das Standardverhalten (die geändert werden kann) ist, dass der Schlüssel aus dem Präfix Linie bis zu den ersten Tabulator-Zeichen erstellt und der Wert aus der Rest der Zeile erstellt wird. Wenn es keine Registerkarte in der Zeile, die gesamte Linie wird der Schlüssel und der Wert ist null.

Nachdem die Mapper-Aufgaben abgeschlossen sind, startet jede Abschwächer-Datei als separater Prozess am Druckminderer Aufgabe Initialisierung. Ausführung der Abschwächer wandelt Eingabe Schlüssel/Wert-Paare in Linien und speist diese Zeilen an den Stdin-Prozess. Als nächstes der Abschwächer sammelt die Line -­orientierte Ausgaben aus der Stdout verarbeiten und wandelt jede Zeile in ein Schlüssel/Wert-Paar, die erhoben werden, wie die Ausgabe von den Abschwächer.

Mithilfe von HiveQL eine Hive-Tabelle Abfragen

Mit der interaktive Web-Konsole können Sie führt eine Bienenkorb Bienenstock Tabellen, dass Sie in Ihrem Hadoop-Cluster definiert haben. Finden Sie mehr über Hive unter hive.apache.org.

Zum Bienenkorb verwenden Sie zuerst erstellen (und laden) eine Bienenkorb-Tabelle. Mit unserem Beispiel WordCount MapReduce-Ausgabedatei (DavinciTop10­Words.txt), können Sie den folgenden Befehl zum Erstellen und überprüfen dann Ihre neue Hive-Tabelle ausführen:

Bienenkorb > LADEN DATEN INPATH

'hdfs://lynnlangit.cloudapp.net:9000/user/lynnlangit/DaVinciTop10Words.txt'

OVERWRITE INTO TABLE Wordcounttable;

Bienenkorb > Tabellen anzeigen;

Bienenkorb > beschreiben Sie Wordcounttable:

Bienenkorb > Wählen Sie * aus Wordcounttable;

 

Bienenkorb Syntax ähnelt SQL-Syntax und HiveQL bietet ähnliche Abfragefunktionalität. Denken Sie daran, dass alle Daten standardmäßig in Hadoop Groß-/Kleinschreibung.

Andere Möglichkeiten zum Herstellen einer Verbindung mit des Clusters

Mithilfe von RDP zusätzlich zum Verwenden des Clusters über das Web-Portal, können Sie auch eine Remotedesktopverbindung eine Verbindung zu dem Cluster NameNode Server einrichten. Anschließen über RDP, Sie klicken Sie auf das Portal, Remote Desktop, dann klicken Sie auf die heruntergeladene Datei des RDP-Verbindung und, wenn Sie aufgefordert werden, geben Sie Ihren Administrator-Benutzernamen und Ihr Passwort. Wenn Sie aufgefordert werden, öffnen Sie Firewall-Ports auf dem Clientcomputer. Nachdem die Verbindung hergestellt ist, können Sie arbeiten direkt mit Ihrem Cluster NameNode mit der Windows Explorer-Shell oder anderen Tools, die mit der Installation von Hadoop enthalten sind, ähnlich wie mit der Standard-Hadoop-Erfahrung.

Meine NameNode Server läuft Windows Server 2008 R2 Enterprise SP1 auf einem Server mit zwei Prozessoren und 14 GB RAM, mit Apache Hadoop Freigabe 0.20.203.1 Snapshot installiert. Beachten Sie, dass die Clusterressourcen aus den Knoten für die Namen und die zugehörigen Arbeiter-Knoten, bestehen so dass die Gesamtzahl der Prozessoren für mein Beispiel-Cluster acht ist.

Die Installation enthält Norm Hadoop-Management-Tools, wie z. B. die Hadoop-Befehlsshell oder Befehlszeilenschnittstelle (CLI), den Hadoop MapReduce Stelle Tracker (gefunden bei http://[namenode]:50030) und die Hadoop NameNode bietet (gefunden bei http://[namenode]:50070). Mit den Hadoop-Befehlsshell kann MapReduce Jobs oder andere Verwaltungsaufgaben (z. B. Verwaltung Ihrer DFS Clusterstatus) über die RDP-Sitzung laufen.

Zu diesem Zeitpunkt können Sie mit nur einem Windows-Client-Rechner über RDP verbinden. RDP-Verbindung derzeit verwendet Cookies, um Port-Weiterleitung zu aktivieren. Die Remotedesktopverbindung für Mac-Client nicht die Möglichkeit, das Cookie zu verwenden, so dass es auf den virtuellen Computer keine Verbindung herstellen kann.

Mithilfe von Microsoft Connector Sqoop mehrere Anschlüsse für Hadoop zu SQL Server ausgeliefert Ende 2011 (für SQL Server 2008 R2 oder höher oder SQL Server Parallel Data Warehouse). Der Sqoop-basierten SQL Server Connector soll importieren oder Exportieren von Daten zwischen Hadoop unter Linux und SQL Server. Du kannst den Stecker bit.ly/JgFmm3. Dieser Connector erfordert, dass der JDBC-Treiber für SQL Server auf demselben Knoten als Sqoop installiert werden. Laden Sie den Treiber an bit.ly/LAIU4F.

Hier finden Sie ein Beispiel zeigt, wie mithilfe von Sqoop zum Importieren oder Exportieren von Daten zwischen SQL Azure und bietet im Abschnitt Beispiele des Portals.

Mithilfe von FTP, um FTP zu verwenden, müssen Sie zunächst einen Port zu öffnen, die Sie tun können, indem Sie auf die Schaltfläche Konfigurieren von Anschlüssen auf dem Portal und dann ziehen den Schieberegler, um den Standardport für FTPS (Port 2226) zu öffnen. Die Kommunikation mit dem FTP-Server benötigen Sie einen MD5-Hash des Kennworts für Ihr Konto. Über RDP verbinden Sie, öffnen Sie die users.conf-Datei, kopieren Sie den MD5-Hash des Kennworts für das Konto, das zum Übertragen von Dateien über FTPS und dann diesen Wert Verbindung verwendet wird. Beachten Sie, dass der MD5-Hash des Kennworts ein selbst signiertes Zertifikat auf dem Server Hadoop verwendet, die möglicherweise nicht vollständig vertrauenswürdig ist.

Sie können auch einen Anschluss für ODBC-Verbindungen (z.B. Excel) in diesem Abschnitt des Portals öffnen. Die Standard-Portnummer für die ODBC-Verbindungen ist 10000. Für komplexere Konfigurationen aber verwenden Sie eine RDP-Verbindung zum Cluster.

Mithilfe des ODBC-Treibers für Hadoop (zum Verbinden mit Excel und Gemini) können Sie einen ODBC-Treiber für Hadoop Portal Seite Downloads herunterladen. Dieser Treiber, die ein Add-in für Excel enthält, kann Excel oder Gemini von Hadoop herstellen. Abbildung 4 zeigt neben dem Hive-Bereich, die Excel hinzugefügt wird, nachdem Sie das Add-in installieren. Die Schaltfläche verfügbar macht einen Hive Abfragebereich, in dem Sie eine Verbindung mit einem lokal gehostete Hadoop-Server oder eine Remoteinstanz herstellen können. Danach können schreiben und eine Hive-Abfrage (über HiveQL) für diesen Cluster ausgeführt werden, und arbeiten dann mit den Ergebnissen, die an Excel zurückgegeben werden.


Abbildung 4 im Abfragebereich Bienenkorb in Excel

Sie können auch mit Hadoop Daten mit PowerPivot for Excel verbinden. Zum Herstellen einer PowerPivot von Hadoop zuerst erstellen einer OLE DB für die ODBC-Verbindung mit dem Hive-Anbieter. Hive Abfragebereich als nächstes schließen Sie an den Hadoop-Cluster mithilfe der Verbindungs, die Sie zuvor konfiguriert wählen Sie dann den Bienenkorb-Tabellen (oder schreiben eine HiveQL Abfrage) und zurück die ausgewählten Daten zu PowerPivot.

Achten Sie darauf, die richtige Version des ODBC-Treibers für Ihre Computer-Hardware und Excel herunterladen. Der Treiber ist in 32-Bit- und 64-Bit-Editionen verfügbar.

Einfach und flexibel — aber mit einigen unbekannten

Der Hadoop auf Windows Azure Beta zeigt mehrere interessante stärken, einschließlich:

  • Setup ist einfach über das intuitive Metro-Stil Web-Portal.
  • Sie erhalten flexible Sprachwahl für MapReduce Jobs und Daten Abfragen ausführen. Sie können MapReduce Aufträge mithilfe von Java, c#, Schwein oder JavaScript ausführen und Abfragen mithilfe von Hive (HiveQL) ausgeführt werden können.
  • Wenn Sie mit Hadoop-Technologien vertraut sind, können Sie Ihre vorhandenen Fähigkeiten. Diese Implementierung ist kompatibel mit Apache Hadoop Snapshot 0.203 +.
  • Es gibt eine Vielzahl von Anschlussmöglichkeiten, einschließlich eines ODBC-Treibers (SQL Server/Excel), RDP und andere Kunden, sowie Konnektivität zu anderen Datenspeichern Wolke von Microsoft (Windows Azure Blobs, die Windows-Azure-Daten-Markt) und andere (Amazon Web Services S3 Eimer).

Jedoch gibt es viele unbekannte in der Version von Hadoop auf Windows Azure, die öffentlich freigegeben werden:

  • Die aktuelle Version ist nur eine private Beta; Es gibt wenig Informationen über Fahrplan und geplante Veröffentlichung Features.
  • Preise noch nicht bekannt gegeben.
  • Während der Beta gibt es eine Grenze für die Größe der Dateien, die Sie hochladen können, und Microsoft hat eine Verzichtserklärung, die "die Beta ist zum Testen von Funktionen, nicht für die Prüfung der Produktionsebene Datenladevorgängen." So ist es unklar, was die Releaseversion Leistung wie sein wird.

Video-Demos (Screencasts) der Beta-Funktionen von Hadoop auf Windows Azure, finden Sie unter meine BigData Playlist auf YouTube bei bit.ly/LyX7Sj.

Lynn Langit*(LynnLangit.com) läuft ihr eigenes technisches Training und consulting-Unternehmen.  Sie entwirft und baut Datenlösungen, die RDBMS und NoSQL-Systeme beinhalten. Kehrte zurück vor kurzem Privatpraxis nach vier Jahren als Evangelist für Microsoft Entwickler. Sie ist Autor von drei Büchern auf SQL Server Business Intelligence, vor kurzem "Smart Business Intelligence-Lösungen mit SQLServer 2008" (Microsoft Press, 2009). Sie ist auch Mitbegründer des Non-Profit-TKP (TeachingKidsProgramming.org).*

Unser Dank gilt dem folgenden technischen Experten für die Durchsicht dieses Artikels: Denny Lee