Risoluzione dei problemi relativi alle tabelle - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi relativi alle tabelle

Impossibile creare un errore di percorso durante la creazione di una tabella

Messaggio di errore IllegalArgumentException: Impossibile creare un percorso da una stringa vuota.

Causa: Questo errore può verificarsi quando si utilizza Apache Spark in Athena per creare una tabella in un AWS Glue database e il database ha una proprietà vuota. LOCATION

Soluzione consigliata: per ulteriori informazioni e soluzioni, consulta la pagina Eccezione di argomento illegale durante la creazione di una tabella.

AccessDeniedException quando si eseguono interrogazioni su tabelle AWS Glue

Messaggio di errore: pyspark.sql.utils. AnalysisException: Impossibile verificare l'esistenza del database predefinito: com.amazonaws.services.glue.model. AccessDeniedException: User: arn:aws:sts: ::assumed-role/ aws-account-id- AWSAthenaSparkExecutionRole unique-identifier/- AthenaExecutor unique-identifier non è autorizzato a eseguire: glue: on GetDatabase resource: arn:aws:glue: aws-region ::catalog aws-account-idperché nessuna politica basata sull'identità consente il glue: action (Service:; Codice di stato: 400; Codice di errore:; Request ID: request-id; Proxy: null) GetDatabase AWSGlue AccessDeniedException

Causa: al ruolo di esecuzione per il tuo gruppo di lavoro abilitato a Spark mancano le autorizzazioni per accedere alle AWS Glue risorse.

Soluzione consigliata: per risolvere questo problema, concedi al ruolo di esecuzione l'accesso alle AWS Glue risorse, quindi modifica la policy del bucket di Amazon S3 per concedere l'accesso al ruolo di esecuzione.

La seguente procedura descrive in modo più dettagliato questi passaggi.

Per concedere al ruolo di esecuzione l'accesso alle risorse AWS Glue
  1. Aprire la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

  2. Se il pannello di navigazione della console non è visibile, scegli il menu di espansione a sinistra.

    Scegli il menu di espansione.
  3. Nel pannello di navigazione della console Athena, scegli Workgroups (Gruppi di lavoro).

  4. Nella pagina Workgroups (Gruppi di lavoro), scegli il collegamento del gruppo di lavoro che desideri visualizzare.

  5. Nella pagina Overview Details (Dettagli della panoramica) del gruppo di lavoro, scegli il collegamento Role ARN (ARN del ruolo). Il link apre il ruolo di esecuzione Spark nella console IAM.

  6. Nella sezione Permissions policies (Policy autorizzazioni), scegli il nome della policy del ruolo con link.

  7. Scegli Edit policy (Modifica policy), quindi scegli JSON.

  8. Aggiungi AWS Glue l'accesso al ruolo. In genere, si aggiungono le autorizzazioni per le operazioni glue:GetDatabase e glue:GetTable. Per ulteriori informazioni sulla configurazione dei ruoli IAM, consulta la pagina Adding and removing IAM identity permissions (Aggiunta e rimozione di autorizzazioni per identità IAM) nella Guida per l'utente di IAM.

  9. Scegli Review policy (Esamina policy) e quindi Save changes (Salva modifiche).

  10. Modifica la policy del bucket Amazon S3 per concedere l'accesso al ruolo di esecuzione. Nota che devi concedere al ruolo l'accesso sia al bucket sia agli oggetti al suo interno. Per i passaggi dettagliati, consulta la pagina Adding a bucket policy using the Amazon S3 console (Aggiunta di una policy del bucket utilizzando la console Amazon S3) nella Guida per l'utente di Amazon Simple Storage Service.