El conector de Cloud Storage es un biblioteca de Java de código abierto que te permite ejecutar Apache Hadoop o trabajos de Apache Spark directamente en datos en Cloud Storage y ofrece una serie de beneficios en comparación con elegir la 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.
Configuración del conector de Cloud Storage del clúster de Dataproc
El conector de Cloud Storage se instala de forma predeterminada en todos
los nodos del clúster de Dataproc
/usr/local/share/google/dataproc/lib/
.
En las siguientes secciones, se describen los pasos que puedes seguir para configurar el conector correctamente en tu clúster de Dataproc.
Permisos de las cuentas de servicio
Cuando se ejecuta el conector
en las VMs de Compute Engine,
incluidos los clústeres de Dataproc,
Se estableció la propiedad google.cloud.auth.service.account.enable
a false
de forma predeterminada, lo que significa que no necesitas configurar manualmente un
la cuenta de servicio para el conector; obtiene la cuenta de servicio
credenciales del servidor de metadatos de la VM.
Versiones de conectores no predeterminadas
Las versiones predeterminadas del conector de Cloud Storage que se usan en las imágenes más recientes instaladas en los clústeres de Dataproc se enumeran en las páginas de versiones de las imágenes del clúster (consulta Versiones compatibles de Dataproc). Si tu aplicación depende de un conector no predeterminado versión implementada en tu clúster, debes hacer lo siguiente:
- crear un clúster con
--metadata=GCS_CONNECTOR_VERSION=x.y.z
marca, que actualiza el conector que usan las aplicaciones que se ejecutan en el clúster a la versión del conector especificada - incluir y reubicar las clases y dependencias del conector de la versión que usas en el archivo JAR de tu aplicación La reubicación es necesaria para evitar conflictos entre los para la versión implementada del conector versión del conector instalada en el clúster de Dataproc (consulta el Ejemplo de reubicación de dependencias de 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
desde el bucket de Cloud Storage sustituyendo Hadoop y
versiones de conectores de Cloud Storage en la
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
patrón del nombre:- Ejemplo:
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Ejemplo:
- versión específica
de la
Repositorio de Apache Maven
(descarga un archivo jar sombreado que tenga 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 de la consola de Google Cloud.
- Usa los comandos
gcloud storage cp
ogcloud storage 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