

# Omisión del nombre del catálogo en consultas de metastores externos de Hive
<a name="datastores-hive-default-catalog"></a>

Cuando ejecuta consultas DML y DDL en metaalmacenes externos de Hive, puede simplificar la sintaxis de la consulta omitiendo el nombre del catálogo si ese nombre está seleccionado en el editor de consultas. Se aplican determinadas restricciones a esta funcionalidad.

## Instrucciones DML
<a name="datastores-hive-default-catalog-dml-statements"></a>

**Para ejecutar consultas con catálogos registrados**

1. Puede colocar el nombre del origen de datos antes de la base de datos mediante la sintaxis `[[data_source_name].database_name].table_name`, como en el ejemplo siguiente.

   ```
   select * from  "hms-catalog-1".hms_tpch.customer limit 10;
   ```

1. Cuando el origen de datos que desea utilizar ya está seleccionado en el editor de consultas, puede omitir el nombre de la consulta, como en el ejemplo siguiente.

   ```
   select * from hms_tpch.customer limit 10:
   ```  
![\[Una consulta DML que utiliza un origen de datos predeterminado.\]](http://docs.aws.amazon.com/es_es/athena/latest/ug/images/datastores-hive-default-catalog-2.png)

1. Cuando utiliza varios orígenes de datos en una consulta, solo puede omitir el nombre del origen de datos predeterminado y debe especificar el nombre completo de cualquier origen de datos no predeterminado. 

   Por ejemplo, supongamos que seleccionó `AwsDataCatalog` como origen de datos predeterminado en el editor de consultas. La instrucción `FROM` del fragmento de consulta siguiente cumple totalmente los dos primeros nombres de origen de datos, pero omite el nombre del tercero porque se encuentra en el catálogo de datos AWS Glue.

   ```
   ...
   FROM ehms01.hms_tpch.customer,
            "hms-catalog-1".hms_tpch.orders,
            hms_tpch.lineitem
   ...
   ```

## Instrucciones DDL
<a name="datastores-hive-default-catalog-ddl-statements"></a>

Las siguientes instrucciones DDL de Athena admiten prefijos de nombre de catálogo. Los prefijos de nombre de catálogo en otras instrucciones DDL provocan errores de sintaxis.

```
SHOW TABLES [IN [catalog_name.]database_name] ['regular_expression']

SHOW TBLPROPERTIES [[catalog_name.]database_name.]table_name [('property_name')]

SHOW COLUMNS IN [[catalog_name.]database_name.]table_name

SHOW PARTITIONS [[catalog_name.]database_name.]table_name

SHOW CREATE TABLE [[catalog_name.][database_name.]table_name

DESCRIBE [EXTENDED | FORMATTED] [[catalog_name.][database_name.]table_name [PARTITION partition_spec] [col_name ( [.field_name] | [.'$elem$'] | [.'$key$'] | [.'$value$'] )]
```

Al igual que con las instrucciones DML, puede omitir los prefijos de origen de datos y base de datos de la consulta cuando el origen de datos y la base de datos están seleccionados en el editor de consultas.

En el ejemplo siguiente, el origen de datos `hms-catalog-1` y la base de datos `hms_tpch` están seleccionados en el editor de consultas. La instrucción `show create table customer` se ejecuta correctamente aunque se omiten el prefijo `hms-catalog-1` y el nombre de la base de datos `hms_tpch` en la consulta.

![\[Una instrucción DDL que utiliza el catálogo predeterminado.\]](http://docs.aws.amazon.com/es_es/athena/latest/ug/images/datastores-hive-default-catalog-4.png)


## Especificación de un origen de datos predeterminado en una cadena de conexión JDBC
<a name="datastores-hive-default-catalog-jdbc"></a>

Cuando utiliza el controlador JDBC de Athena para conectar Athena a un almacén de metadatos externo de Hive, puede utilizar el parámetro `Catalog` para especificar el nombre del origen de datos predeterminado en la cadena de conexión en un editor SQL, como [SQL Workbench](https://www.sql-workbench.eu/index.html).

**nota**  
Para descargar los controladores JDBC de Athena más recientes, consulte [Uso de Athena con el controlador JDBC](https://docs.aws.amazon.com/athena/latest/ug/connect-with-jdbc.html).

La siguiente cadena de conexión especifica el origen de datos predeterminado *hms-catalog-name*.

```
    jdbc:awsathena://AwsRegion=us-east-1;S3OutputLocation=s3://amzn-s3-demo-bucket/lambda/results/;Workgroup=AmazonAthenaPreviewFunctionality;Catalog=hms-catalog-name;
```

En la imagen siguiente se muestra un ejemplo de URL de conexión JDBC según se ha configurado en SQL Workbench.

![\[Configuración de una URL de conexión JDBC en SQL Workbench.\]](http://docs.aws.amazon.com/es_es/athena/latest/ug/images/datastores-hive-default-catalog-jdbc-1.jpg)
