Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Available since Release 6.0.0

Introduction

This functionality allows a platform administrator user to segment an S3 bucket (either AWS S3 or MinIO) in virtual buckets assigned to different platform users.

In this way, without the need to have different physical buckets, I can use each virtual bucket for a specific topic, having separated its uses (datamart, staging,...).

How to use it?

Required set-up configuration

In order to enable this functionality, it’s necessary to complete some previous steps:

  • Create a new metastorage service in the CaaS configured for this S3 repository. It’s possible to use the same MinIO image of the plataform. It will be

  • 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:

presto-metastore-server:5.0.0

Y apuntando a AWS con las variables de entorno, además de la URL del servicio

- MINIO_ROOT_USER → con el Access Key

- MINIO_ROOT_PASSWORD → secret key

- MINIO_SERVER_ENDPOINT → endpoint http/https del servicio S3

image-20240326-140318.png

Con esto tendremos el servicio corriendo y apuntado a AWS

image-20240326-140736.png
  • Configurar el sistema S3 en la configuración centralizada de plataforma. Dentro de la configuración Platform el path onesaitplatform/env/externals3

image-20240326-142942.png

Aunque con la configuración inicial debería estar apuntando, también será necesario revisar que los paths:

onesaitplatform/env/database/prestodb-externals3-catalog → nombre catalog de presto (por defecto externals3)

onesaitplatform/env/database/prestodb-externals3-schema → nombre catalog de presto (por defecto default)

  • 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:

image-20240326-154034.png

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:

image-20240326-201026.png

Accederemos a sección de Amazon S3

image-20240326-201152.png

Y daremos a “crear bucket” para acceder al formulario de creación. Dentro del mismo rellenaremos los diferentes campos y crearemos nuestro bucket:

image-20240326-201436.png

Al crear el bucket se nos notificará de la creación del mismo y aparecerá en el listado de buckets

image-20240326-201647.png

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

image-20240326-202757.png

Damos a crear y podremos ver el listado de buckets de AWS

image-20240326-202842.png

Seleccionamos el nuevo bucket creado y rellenamos el resto de campos

image-20240326-203015.png

Al darle a crear, podremos ver el resumen, así como el path completo generado

image-20240326-203123.png

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

image-20240326-203631.png

Creación de la entidad en el Bucket Virtual

Finalmente podremos crear una entidad en este bucket virtual con el usuario al que hemos dado permiso en el paso anterior.

Al 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.

image-20240326-204200.png

In order to create the new entity for this Virtual Bucket, we’ll navigate to the “Create entity in Historical Database“ option:

image-20240326-204404.png

After that, the Create Entity from Virtual Bucket will appear

image-20240326-204513.png

Using a similar way to the historical entities, we’ll fill the different options of the form for the entity creation.

image-20240326-210724.png

Below, we can select the entity location with the Virtual Bucket Identification dropdown. After that, if we update the SQL (with Update SQL button) we’ll see the new SQL sentence with the real bucket location in EXTERNAL_LOCATION attribute.

image-20240326-211013.png

Finally, if we click on create button, we’ll create our new entity

image-20240326-211112.png

If we navigate to the AWS Console, we can see how the full path for the new entity has been created

image-20240326-211244.png

Entity operations

It will be posible to insert data that will appear as a new file in the AWS S3

image-20240326-211703.png

image-20240326-211741.png

And query them:

image-20240326-211846.png

  • No labels