Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Prise en main du pilote JDBC 3.x
Utilisez les informations de cette section pour commencer à utiliser le pilote JDBC 3.x Amazon Athena.
Rubriques
Instructions d'installation
Vous pouvez utiliser le pilote JDBC 3.x dans une application personnalisée ou d'un client SQL tiers.
Dans une application personnalisée
Téléchargez le .zip fichier contenant le pilote et ses dépendances. Ajoutez le .jar fichier du pilote et tous les autres .jar fichiers du runtime-dependencies répertoire au chemin de classe Java de votre application personnalisée. N'omettez un .jar fichier que si votre application fournit déjà une version compatible de cette dépendance. Le AthenaStreamingJavaClient-2.0.jar fichier fournit la software.amazon.awssdk.services.athenastreaming.AthenaStreamingAsyncClient classe. Incluez ce fichier à moins que votre application ne fournisse déjà cette classe.
Dans un client SQL tiers
Téléchargez le fichier uber jar du pilote et ajoutez-le au client SQL tiers en suivant les instructions pour ce client.
Exécution du pilote
Pour exécuter le pilote, vous pouvez utiliser une application personnalisée ou un client SQL tiers.
Dans une application personnalisée
Utilisez l'interface JDBC pour interagir avec le pilote JDBC à partir d'un programme. Le code suivant montre un exemple d'application Java personnalisée.
public static void main(String args[]) throws SQLException { Properties connectionParameters = new Properties(); connectionParameters.setProperty("Workgroup", "primary"); connectionParameters.setProperty("Region", "us-east-2"); connectionParameters.setProperty("Catalog", "AwsDataCatalog"); connectionParameters.setProperty("Database","sampledatabase"); connectionParameters.setProperty("OutputLocation","s3://amzn-s3-demo-bucket"); connectionParameters.setProperty("CredentialsProvider","DefaultChain"); String url = "jdbc:athena://"; AthenaDriver driver = new AthenaDriver(); Connection connection = driver.connect(url, connectionParameters); Statement statement = connection.createStatement(); String query = "SELECT * from sample_table LIMIT 10"; ResultSet resultSet = statement.executeQuery(query); printResults(resultSet); // A custom-defined method for iterating over a // result set and printing its contents }
Dans un client SQL tiers
Suivez la documentation du client SQL que vous utilisez. Généralement, vous utilisez l'interface utilisateur graphique du client SQL pour saisir et envoyer la requête, et les résultats de la requête sont affichés dans la même interface.
Configuration du pilote
Vous pouvez utiliser les paramètres de connexion pour configurer le pilote Amazon Athena JDBC. Pour les paramètres de connexion pris en charge, veuillez consulter Paramètres de connexion JDBC 3.x Amazon Athena.
Dans une application personnalisée
Pour définir les paramètres de connexion du pilote JDBC d'une application personnalisée, effectuez l'une des actions suivantes :
-
Ajoutez les noms des paramètres et leurs valeurs à un objet
Properties. Lorsque vous appelezConnection#connect, transmettez cet objet avec l'URL. Pour un exemple, veuillez consulter l'exemple d'application Java dans Exécution du pilote. -
Dans la chaîne de connexion (l'URL), utilisez le format suivant pour ajouter les noms des paramètres et leurs valeurs directement après le préfixe du protocole.
<parameterName>=<parameterValue>;Utilisez un point-virgule à la fin de chaque paire de name/parameter valeurs de paramètres et ne laissez aucun espace blanc après le point-virgule, comme dans l'exemple suivant.
String url = "jdbc:athena://WorkGroup=primary;Region=us-east-1;...;";AthenaDriver driver = new AthenaDriver();Connection connection = driver.connect(url, null);Note
Si un paramètre est spécifié à la fois dans la chaîne de connexion et dans l'objet
Properties, la valeur de la chaîne de connexion est prioritaire. Il n'est pas recommandé de spécifier le même paramètre aux deux endroits. -
Ajoutez les valeurs des paramètres en tant qu'arguments aux méthodes de
AthenaDataSource, comme dans l'exemple suivant.AthenaDataSource dataSource = new AthenaDataSource(); dataSource.setWorkGroup("primary"); dataSource.setRegion("us-east-2"); ... Connection connection = dataSource.getConnection(); ...
Dans un client SQL tiers
Suivez les instructions du client SQL que vous utilisez. Généralement, le client fournit une interface utilisateur graphique pour saisir les noms des paramètres et leurs valeurs.
Mise à niveau depuis le pilote Athena JDBC v2
La plupart des paramètres de connexion de JDBC version 3 sont rétrocompatibles avec la version 2 (Simba). Cela signifie qu'une chaîne de connexion version 2 peut être réutilisée avec la version 3 du pilote. Certains paramètres de connexion ont toutefois changé. Ces modifications sont décrites ici. Lorsque vous effectuez une mise à niveau vers le pilote JDBC version 3, mettez à jour votre configuration existante si nécessaire.
Classe de pilote
Certains outils de BI vous demandent de fournir la classe de pilote à partir du fichier .jar du pilote JDBC. La plupart des outils trouvent automatiquement cette classe. Le nom entièrement qualifié de la classe dans le pilote de la version 3 est com.amazon.athena.jdbc.AthenaDriver. Dans le pilote version 2, la classe était com.simba.athena.jdbc.Driver.
Chaîne de connexion
Le pilote version 3 utilise jdbc:athena:// pour le protocole au début de la chaîne de connexion JDBC. Il prend également en charge le protocole jdbc:awsathena:// version 2, mais celui-ci est obsolète. Pour éviter les comportements indéfinis, la version 3 n'accepte pas les chaînes de connexion commençant par jdbc:awsathena:// si la version 2 (ou tout autre pilote acceptant les chaînes de connexion commençant parjdbc:awsathena://) a été enregistrée dans la DriverManager
Métadonnées de colonne de chaîne
Avec le pilote JDBC 3.x, vous ne pouvez plus utiliser le paramètre de StringColumnLength connexion JDBC 2.x. Au lieu de cela, vous pouvez accéder à la précision fournie par Athena via des méthodes de JDBC métadonnées standard, notamment ResultSetMetaData.getPrecision etResultSetMetaData.getColumnDisplaySize. Étant donné que le string type Athéna est illimité, sa précision déclarée peut être. 2147483647
Si votre application alloue des tampons de taille fixe à partir des JDBC métadonnées, configurez-la pour utiliser des tampons de taille variable. Si votre application nécessite des métadonnées de colonnes limitées, convertissez la colonne varchar( dans la requête ou exposez la diffusion via une vue. Choisissez une valeur n)n qui préserve toutes les données attendues, car le transtypage vers une taille plus petite peut tronquer les valeurs.
Fournisseurs d'informations d'identification
Le pilote version 2 utilise des noms complets pour identifier les différents fournisseurs d'informations d'identification (par exemple com.simba.athena.amazonaws.auth.DefaultAWSCredentialsProviderChain). Le pilote version 3 utilise des noms plus courts (par exemple DefaultChain). Les nouveaux noms sont décrits dans les sections correspondantes pour chaque fournisseur d'informations d'identification.
Les fournisseurs d'informations d'identification personnalisés écrits pour le pilote de version 2 doivent être modifiés pour que le pilote de version 3 AwsCredentialsProvider
Le fournisseur PropertiesFileCredentialsProvider n’est pas pris en charge dans le pilote JDBC 3.x. Le fournisseur a été utilisé dans le pilote JDBC 2.x mais appartient à la version précédente du AWS SDK pour Java dont le support approche de la fin du support. Pour bénéficier des mêmes fonctionnalités dans le pilote JDBC 3.x, utilisez plutôt le fournisseur AWS informations d'identification du profil de configuration.
Niveau de journalisation
Le tableau suivant montre les différences entre les paramètres LogLevel des pilotes JDBC version 2 et version 3.
| Version du pilote JDBC | Nom du paramètre | Type de paramètre | Valeur par défaut | Valeurs possibles | Exemple de chaîne de connexion |
|---|---|---|---|---|---|
| v2 | LogLevel |
Facultatif | 0 | 0 à 6 | LogLevel=6; |
| v3 | LogLevel |
Facultatif | TRACE | OFF, ERROR, WARN, INFO, DEBUG, TRACE | LogLevel=INFO; |
Récupération de l'ID de requête
Dans le pilote version 2, vous décompressez une instance Statement dans com.interfaces.core.IStatementQueryInfoProvider, une interface dotée de deux méthodes : #getPReparedQueryId et #getQueryId. Vous pouvez utiliser ces méthodes pour obtenir l'ID d'exécution d'une requête déjà exécutée.
Dans le pilote version 3, vous décompressez les instances Statement, PreparedStatement et ResultSet de l'interface com.amazon.athena.jdbc.AthenaResultSet. L'interface dispose d'une seule méthode : #getQueryExecutionId.