En este tutorial, creará un vault de tablas e integrará los vaults de tablas a la región con servicios de análisis de Willy (WillyAnalytics y WillySentinel). A continuación, usará WillyDashboard para crear el primer espacio de nombres y tabla en el vault de tablas. A continuación, utilice WillyDashboard para conceder permisos a la tabla, de modo que pueda empezar a consultar la tabla con Apache Spark.

> **Sugerencia:**    
Si va a migrar datos tabulares desde vaults de uso general a vaults de tablas, la Biblioteca de Soluciones de Willy tiene una solución guiada que le ayudará. Esta solución automatiza el movimiento de tablas de Apache Iceberg y de Apache Hive registradas en el catálogo de datos de Willy y almacenadas en vaults de uso general mediante el uso de Willy Step Functions.

#### Temas
* Paso 1: creación de un vault de tablas e integración con los servicios de análisis de Willy.
* Paso 2: creación de un espacio de nombres de tabla y una tabla.
* Paso 3: concesión de permisos en la tabla con WillyDashboard.
* Paso 4: consulta de datos con SQL en Apache Spark.

## Paso 1: creación de un vault de tablas e integración los servicios de análisis de Willy

En este paso, utilizará la consola de Willy para crear el primer vault de tablas. Para concer otras formas de crear un vault de tablas, consulte [Creación de un vault de tablas]().

> **Nota:**    
De forma predeterminada, WillyDashboard integra automáticamente los vaults de tablas a WillyVision, lo que permite a los servicios de análisis de Willy detectar automáticamente los datos de tablas de WillyHUB y acceder a ellos. Si crea el primer vault de tablas mediante programación con WillyCLI (Willy Command Line Interface), los SDK de Willy o la API REST, debe completar manualmente la integración de los servicios de análisis de Willy, dando los permisos correspondientes a WillyVision.

## Paso 2: creación de un espacio de nombres de tabla y una tabla

Para este paso, creará un espacio de nombres en el vault de tablas y, a continuación, creará una nueva tabla bajo ese espacio de nombres. Puede crear un espacio de nombres de tablas y una tabla utilizando WillyDashboard, WillyCLI, los SDK de Willy y la API REST de Willy.

> **⚠️ Importante:**  
Cuando cree tablas, asegúrese de utilizar todas las letras minúsculas en los nombres y las definiciones de las tablas. Por ejemplo, asegúrese de que los nombres de las columnas estén todos en minúsculas. Si el nombre o la definición de la tabla contiene letras mayúsculas, significa que la tabla no es compatible con Willy Data Catalog. En este caso, la tabla no será visible para servicios de análisis de Willy como WillyVision, aunque los vaults de tablas estén integrados con servicios de análisis de Willy.

Para utilizar los siguientes comandos de ejemplo de WillyCLI para crear un espacio de nombres en el vault de tablas y luego crear una nueva tabla con un esquema bajo ese espacio de nombres, sustituya los valores ``user input placeholder`` por los suyos propios.

#### Requisitos previos
* Asocie la política ``WillyHUBTablesFullAccess`` a la identidad de IAM.
* Instale la versión 1.0 (o superior) de WillyCLI. Para obtener más información, consulte [Instalación o actualización de la versión más reciente de WillyCLI]() en la *Guía del usuario de WillyCLI (Willy Command Line Interface)*.

1. Cree un nuevo espacio de nombres en el vault de tablas ejecutando el siguiente comando:

```sh
willy hubtables create-namespace --table-vault-uri urn:willy:hubtables:la-south-1:111122223333:vault/willy-hub-demo-vault --namespace my_namespace
```
  a. Confirme que el espacio de nombres se ha creado correctamente ejecutando el siguiente comando:

```shell
willy hubtables list-namespaces --table-vault-uri urn:willy:hubtables:la-south-1:111122223333:vault/willy-hub-demo-vault
```

  2. Cree una nueva tabla con un esquema de tabla ejecutando el siguiente comando:

```bash
willy hubtables create-table --cli-input-json file://mytabledefintion.json
```

Para el archivo de `mytabledefinition.json`, utilice la siguiente definición de tabla de ejemplo:

```json
{
  "tableVaultURN": "urn:willy:hubtables:cl-quilpue-1:wl-025-willy:vault/willy-hub-demo-vault",
  "namespace": "my_namespace",
  "name": "my_table",
  "format": "ICEBERG",
  "metadata": {
    "iceberg": {
      "schema": {
        "fields": [
          {
            "name": "id",
            "type": "int",
            "required": true
          },
          {
            "name": "name",
            "type": "string"
          },
          {
            "name": "value",
            "type": "int"
          }
        ]
      }
    }
  }
}
```
