

# Solución de errores de tabla
<a name="notebooks-spark-troubleshooting-tables"></a>

Utilice la información de esta sección para resolver errores de tabla de Athena para Spark.

## No se puede crear un error de ruta al crear una tabla
<a name="notebooks-spark-troubleshooting-tables-illegal-argument-exception"></a>

**Mensaje de error**: IllegalArgumentException: Cannot create a path from an empty string. (IllegalArgumentException: no se puede crear una ruta a partir de una cadena vacía).

**Causa**: este error puede producirse cuando usa Apache Spark en Athena para crear una tabla en una base de datos de AWS Glue y la base de datos tiene una propiedad `LOCATION` vacía. 

**Solución sugerida**: para obtener más información y soluciones, consulte [Excepción de argumento ilegal al crear una tabla](notebooks-spark-known-issues.md#notebooks-spark-known-issues-illegal-argument-exception).

## AccessDeniedException al consultar tablas de AWS Glue
<a name="notebooks-spark-troubleshooting-tables-glue-access-denied"></a>

**Mensaje de error**: pyspark.sql.utils.AnalysisException: Unable to verify existence of default database: com.amazonaws.services.glue.model.AccessDeniedException: User: arn:aws:sts::*aws-account-id*:assumed-role/AWSAthenaSparkExecutionRole-*unique-identifier*/AthenaExecutor-*unique-identifier* is not authorized to perform: glue:GetDatabase on resource: arn:aws:glue:*aws-region*:*aws-account-id*:catalog because no identity-based policy allows the glue:GetDatabase action (Service: AWSGlue; Status Code: 400; Error Code: AccessDeniedException; Request ID: *request-id*; Proxy: null) (pyspark.sql.utils.AnalysisException: no se puede verificar la existencia de la base de datos predeterminada: com.amazonaws.services.glue.model.AccessDeniedException: El usuario: arn:aws:sts::aws-account-id:assumed-role/AWSAthenaSparkExecutionRole-unique-identifier/AthenaExecutor-unique-identifier no está autorizado a realizar: glue:GetDatabase en el recurso: arn:aws:glue:aws-region:aws-account-id:catalog porque ninguna política basada en identidades permite la acción glue:GetDatabase [Servicio: AWSGlue; Código de estado: 400; Código de error: AccessDeniedException; ID de solicitud: request-id; Proxy: null]).

**Causa**: al rol de ejecución de su grupo de trabajo habilitado para Spark le faltan permisos para acceder a los recursos de AWS Glue.

**Solución sugerida**: para resolver este problema, conceda a su rol de ejecución acceso a los recursos de AWS Glue y, a continuación, edite la política de su bucket de Amazon S3 para conceder acceso a su rol de ejecución.

En las siguientes secciones se describen los pasos de manera más detallada.

**Para conceder a su rol de ejecución acceso a los recursos de AWS Glue**

1. Abra la consola de Athena en [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Si el panel de navegación de la consola no está visible, elija el menú de expansión de la izquierda.  
![\[Elija el menú de expansión.\]](http://docs.aws.amazon.com/es_es/athena/latest/ug/images/nav-pane-expansion.png)

1. En el panel de navegación de la consola de Athena, elija **Grupos de trabajo**.

1. En la página **Grupos de trabajo**, elija el enlace del grupo de trabajo que quiere ver.

1. En la página **Overview Details** (Detalles de información general) del grupo de trabajo, elija el enlace **Role ARN** (ARN del rol). El enlace abre el rol de ejecución de Spark en la consola de IAM.

1. En la sección **Permissions policies** (Políticas de permisos), seleccione el nombre de la política de rol vinculada.

1. Elija **Edit policy** (Editar política) y, a continuación, elija **JSON**.

1. Agregue acceso a AWS Glue al rol. Normalmente, se agregan permisos para las acciones `glue:GetDatabase` y `glue:GetTable`. Para obtener más información sobre la configuración de roles de IAM, consulte [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la guía del usuario de IAM. 

1. Elija **Revisar política** y, a continuación, elija **Guardar cambios**.

1. Edite la política de su bucket de Amazon S3 para conceder acceso al rol de ejecución. Tenga en cuenta que debe conceder al rol acceso tanto al bucket como a los objetos del bucket. Para conocer los pasos, consulte [Agregar una política de bucket mediante la consola de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) en la guía del usuario de Amazon Simple Storage Service.