Der Cloud Storage-Connector ist eine Open-Source-Java-Bibliothek, mit der Sie Apache Hadoop- oder Apache Spark-Jobs direkt für Daten in Cloud Storage ausführen können. Dieser Connector bietet eine Reihe von Vorteilen gegenüber HDFS (Hadoop Distributed File System) als Standarddateisystem.
Vorteile des Cloud Storage-Connectors
- Direkter Datenzugriff – Speichern Sie Ihre Daten in Cloud Storage und greifen Sie direkt darauf zu. Sie müssen sie nicht zuerst in HDFS übertragen.
- HDFS-Kompatibilität – Mit dem Präfix
gs://
anstelle vonhdfs://
können Sie ganz einfach auf Ihre Daten in Cloud Storage zugreifen. - Interoperabilität – Das Speichern von Daten in Cloud Storage ermöglicht eine nahtlose Interoperabilität zwischen Spark-, Hadoop- und Google-Diensten.
- Datenzugriff – Wenn Sie einen Hadoop-Cluster herunterfahren, haben Sie im Gegensatz zu HDFS in Cloud Storage weiterhin Zugriff auf Ihre Daten.
- Hohe Datenverfügbarkeit – In Cloud Storage gespeicherte Daten sind hochverfügbar und werden ohne Leistungsverlust global repliziert.
- Kein Speicherverwaltungs-Overhead – Im Gegensatz zu HDFS erfordert Cloud Storage keine routinemäßigen Verwaltungsmaßnahmen wie das Prüfen des Dateisystems, Aktualisieren oder Zurücksetzen auf eine frühere Version des Dateisystems usw.
- Schnellstart – In HDFS kann ein MapReduce-Job nur gestartet werden, wenn sich der
NameNode
außerhalb des abgesicherten Modus befindet. Der Vorgang kann je nach Größe und Status der Daten einige Sekunden bis zu mehreren Minuten in Anspruch nehmen. In Cloud Storage können Sie Jobs zusammen mit den Aufgabenknoten starten. Hierdurch erzielen Sie im Laufe der Zeit erhebliche Kosteneinsparungen.
Connector abrufen
Dataproc-Cluster
Der Cloud Storage-Connector wird standardmäßig auf allen Dataproc-Clusterknoten im Verzeichnis /usr/local/share/google/dataproc/lib/
installiert.
Wenn Ihre Anwendung eine Connector-Version benötigt, die sich von der Connector-Version unterscheidet, die in Ihrem Dataproc-Cluster bereitgestellt wird, haben Sie zwei Möglichkeiten:
- Erstellen Sie einen neuen Cluster mit dem Flag
--metadata GCS_CONNECTOR_VERSION=x.y.z
. Dadurch wird der von Ihrer Anwendung verwendete Connector auf die angegebene Connector-Version aktualisiert oder - Fügen Sie der JAR-Datei Ihrer Anwendung die Connector-Klassen und -Abhängigkeiten für die verwendete Version hinzu und verschieben Sie diese. Auf diese Weise vermeiden Sie, dass die verwendete Connector-Version mit der Connector-Version auf dem Dataproc-Cluster in Konflikt steht. Informationen dazu finden Sie im Beispiel für die Verschiebung von Abhängigkeiten in Maven.
Drittanbieter-Dataproc-Cluster
Connector herunterladen
So laden Sie den Cloud Storage-Connector für Hadoop herunter:
- neueste Version im Cloud Storage-Bucket (nicht für die Produktion empfohlen):
- Bestimmte Version des Cloud Storage-Buckets durch Ersetzen der Versionen von Hadoop und Cloud Storage-Connectors im Namensmuster
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
:- Beispiel:
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Beispiel:
- bestimmte Version des Repositorys Apache Maven (Sie sollten eine schattierte JAR-Datei mit dem Suffix
-shaded
im Namen herunterladen):
Connector installieren
Informationen zum Installieren, Konfigurieren und Testen des Cloud Storage-Connectors finden Sie unter Installing the connector auf GitHub.
Connector verwenden
Es gibt mehrere Möglichkeiten, um auf Daten in Cloud Storage zuzugreifen:
- In einer Spark- (oder PySpark-) oder Hadoop-Anwendung mit dem Präfix
gs://
- Die Hadoop-Shell:
hadoop fs -ls gs://bucket/dir/file
- Der Cloud Storage-Browser der Google Cloud Console
- Mit den Befehlen
gsutil cp
odergsutil rsync
Ressourcen
Java-Version
Der Cloud Storage-Connector erfordert Java 8.
Informationen zu Apache Maven Dependency
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> </dependency>
oder für eine schattierte Version:
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> <classifier>shaded</classifier> </dependency>
Weitere Informationen finden Sie in den Versionshinweisen zu Cloud Storage-Connector und in der Javadoc-Referenz.
Weitere Informationen
- Weitere Informationen zu Cloud Storage