El conector de Cloud Storage es una biblioteca Java de código abierto que te permite ejecutar trabajos de Apache Hadoop o Apache Spark directamente en los datos en Cloud Storage y ofrece una serie de beneficios sobre el sistema de archivos distribuidos de Hadoop (HDFS).
Beneficios del conector de Cloud Storage
- Acceso directo a los datos: Almacena tus datos en Cloud Storage y accede a ellos directamente. No es necesario que primero la transfieras a HDFS.
- Compatibilidad con HDFS: Puedes acceder fácilmente a tus datos en Cloud Storage con el prefijo
gs://
en lugar dehdfs://
. - Interoperabilidad: El almacenamiento de datos en Cloud Storage permite una interoperabilidad perfecta entre los servicios de Spark, Hadoop y Google.
- Accesibilidad a los datos: Cuando cierras un clúster de Hadoop, a diferencia de HDFS, sigues teniendo acceso a tus datos en Cloud Storage.
- Alta disponibilidad de los datos: Los datos almacenados en Cloud Storage están altamente disponibles y replicados de forma global sin perder rendimiento.
- Sobrecarga de administración sin almacenamiento: A diferencia de HDFS, Cloud Storage no requiere mantenimiento de rutina, como revisar el sistema de archivos, actualizarlo o revertirlo a una versión anterior del sistema de archivos.
- Inicio rápido: En HDFS, un trabajo MapReduce no puede iniciarse hasta que el
NameNode
se encuentre fuera del modo seguro, un proceso que puede demorar unos pocos segundos o varios minutos, según el tamaño y el estado de tus datos. Con Cloud Storage, puedes comenzar tu trabajo en cuanto se inicien los nodos de tareas, lo que genera importantes ahorros de costos a lo largo del tiempo.
Obtén el conector
Clústeres de Dataproc
El conector de Cloud Storage se instala de forma predeterminada en todos los nodos del clúster de Dataproc en el directorio /usr/local/share/google/dataproc/lib/
.
Si tu aplicación depende de una versión del conector diferente de la versión predeterminada del conector implementada en tu clúster de Dataproc, debes hacer lo siguiente:
- Crea un clúster nuevo con la marca
--metadata GCS_CONNECTOR_VERSION=x.y.z
, que actualizará el conector que usa tu aplicación a la versión del conector especificada, o - incluir y reubicar las clases de conector y las dependencias de conector para la versión que usas en el archivo jar de tu aplicación, de modo que la versión de conector que usas no entre en conflicto con la versión de conector implementada en tu clúster de Dataproc (consulta este ejemplo de reubicación de dependencias en Maven).
Clústeres que no son de Dataproc
.Descarga el conector.
Si deseas descargar el conector de Cloud Storage para Hadoop, sigue estos pasos:
- la última versión ubicada en el bucket de Cloud Storage (no se recomienda para su uso en producción):
- versión específica del depósito de Cloud Storage mediante el reemplazo de las versiones del conector de Hadoop y Cloud Storage en el patrón del nombre
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
:- Ejemplo:
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Ejemplo:
- versión específica del repositorio de Apache Maven (debes descargar un jar sombreado con el sufijo
-shaded
en el nombre):
Instala el conector.
Consulta Instala el conector en GitHub para instalar, configurar y probar el conector de Cloud Storage.
Usa el conector
Hay varias formas de acceder a los datos almacenados en Cloud Storage:
- En una aplicación Spark (o PySpark) o Hadoop con el prefijo
gs://
. - La shell de Hadoop:
hadoop fs -ls gs://bucket/dir/file
. - El navegador de Cloud Storage en Google Cloud Console.
- Usa los comandos
gsutil cp
ogsutil rsync
.
Recursos
Versión de Java
El conector de Cloud Storage requiere Java 8.
Información sobre las dependencias de Apache Maven
<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>
o para la versión sombreada:
<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>
Para obtener información más detallada, consulta las notas de la versión del conector de Cloud Storage y la referencia de Javadoc.
¿Qué sigue?
- Obtén más información sobre Cloud Storage