Conector de Cloud Storage

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 de hdfs://.
  • 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 instalados en los clústeres de Dataproc se muestran en la imagen del clúster páginas de versión (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:

  1. 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
  2. incluir y reubicar las clases de conectores y las dependencias de los conectores para la versión que estás usando en el jar de tu aplicación. La reubicación es necesaria para evitar conflictos entre los en la versión del conector implementada 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

.
  1. Descarga el conector.

    Si deseas descargar el conector de Cloud Storage para Hadoop, sigue estos pasos:

  2. 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:

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 el conector de Cloud Storage notas de la versión y Referencia de Javadoc.

¿Qué sigue?