...
Info |
---|
Disponible desde Release 6.0.0 |
Introducción
Esta funcionalidad permite gestionar, mediante que un usuario administrador , la posibilidad de que los usuarios creen entidades en diferentes buckets de un S3 externo definido, es decir, tanto desde el propio MinIO de plataforma, como el propio S3 de AWS u otros sistemas compatibles con el protocolo. Será necesario tener un metastore propio para este S3 externo al crear las tablas de presto en el mismo.
Mediante la configuración centralizada se definirá la configuración remota de acceso. Las credenciales utilizadas, deben permitir el listado de buckets, así como la creación de carpetas y ficheros en los mismos.
Con esto dado, un usuario administrador podrá asignar buckets a usuarios, bien por el sistema de compartir propio, bien como recurso de un proyecto. Finalmente, los usuarios que tengan permisos podrán crear nuevas entidades en los diferentes buckets permitiendo contenedores de diferentes capas/áreas de procesamiento de datos, tener un bucket para staging, otro para business warehouse otro para un datamartde plataforma pueda segmentar un bucket S3 (bien sea AWS S3 o MinIO) en buckets virtuales asignados a los diferentes usuarios de plataforma.
De esta forma, sin necesidad de tener diferentes buckets físicos puedo usar cada bucket virtual para un tema concreto, teniendo separados sus usos (datamart, staging,…).
¿Cómo usarlo?
Configuración necesaria
Para activar esta funcionalidad, serán necesarios es necesario completar unos pasos previos:
Creación de un nuevo servicio de metastorage apuntando a este sistema S3. Para esta parte se podrá usar la imagen del propio de plataforma para MinIO. Se generará un nuevo servicio que para AWS llamaremos presto-metastore-server-aws. La imagen, en su versión actual:
...
Crear un nuevo catalog de presto en plataforma (con el nombre indicado en el paso anterior en onesaitplatform/env/database/prestodb-externals3-catalog) apuntando a metastorage creado previamente (propiedad hive.metastorage.url) con las siguientes propiedades:
...
Creación del Bucket S3 en AWS
Una vez realizados los pasos anteriores y teniendo configurado correctamente las credenciales para AWS, lo primero será acceder a nuestra consola de AWS:
...
Al crear el bucket se nos notificará de la creación del mismo y aparecerá en el listado de buckets
...
Creación del Bucket Virtual asociado en plataforma
A partir de aquí, si vamos a plataforma con un usuario administrador y vamos a la opción Gestión de Buckets Virtuales/Virtual Buckets Management
...
En este punto, será interesante asignar permisos a los usuarios desarrolladores para que puedan crear entidades sobre este nuevo bucket virtual, es decir que puedan crear entidades sobre la carpeta con el path “data/input” en el bucket de AWS onesaitdatamart
...
Creación de la entidad en el Bucket Virtual
En este punto, finalmente, crearemos Finalmente podremos crear una entidad en este bucket virtual con el usuario al que hemos dado permiso en el paso anterior.
Al logarmos con el usuario developer logarnos en plataforma podemos ir al listado de bucket que de modo informativo se nos mostrará, aunque no tendremos opciones de edición o borrado ya que pertenecen al usuario administrador.
...
Si navegamos a la consola de AWS, podremos ver como se ha creado el path completo de la nueva entidad
...
Operaciones sobre la Entidad
Podremos insertar datos que aparecerán como nuevos ficheros en el S3 de AWS
...