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 fichier .zip contenant le fichier jar du pilote et ses dépendances. Chaque dépendance possède son propre fichier .jar. Ajoutez le pilote jar en tant que dépendance dans votre application personnalisée. Ajoutez de manière sélective les dépendances du fichier jar du pilote selon que vous les avez déjà ajoutées ou non à votre application à partir d'une autre source.
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 nom de paramètre/valeur de paramètre, et ne laissez aucun espace 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 des comportements inattendus, 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 qui commencent par jdbc:awsathena://) a été enregistrée dans la classe DriverManager
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ées écrits pour le pilote version 2 doivent être modifiés pour que le pilote version 3 mette en œuvre l’interface AwsCredentialsProvider
Le fournisseur PropertiesFileCredentialsProvider n’est pas pris en charge dans le pilote JDBC 3.x. Il était utilisé dans le pilote JDBC 2.x, mais il appartient à la version précédente du SDK AWS pour Java qui ne sera prochainement plus prise en charge. Pour bénéficier des mêmes fonctionnalités dans le pilote JDBC 3.x, utilisez plutôt le fournisseur Informations d'identification du profil de configuration AWS.
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.