Il y a des échantillons partout, mais je n'avais pas beaucoup de connaissances, alors j'ai fait une note basée sur la pierre d'achoppement.
Pour le moment, supposons que vous puissiez exécuter SQL depuis la console Web. Le nom de la base de données est «logs».
J'obtiens le résultat de son exécution via JDBC, mais il est obligatoire de l'enregistrer dans S3. Et cela semble inutile (ce sera une erreur) à moins que ce ne soit une région où Amazon Athena fonctionne correctement. Créez un compartiment S3 avec la région ʻUS Standard`.
Lancez Netbeans et démarrez un nouveau projet> Java> Application Java
J'ai fait référence à connexion JDBC à Amazon Athena | Developers.IO.
Copier et coller.
Il semble que l'authentification puisse spécifier le constructeur de ʻaws_credentials_provider_class en passant une valeur à la propriété ʻaws_credentials_provider_arguments
dans l'ensemble des propriétés passées au pilote JDBC.
Il semble ... mais je n'ai pas pu l'utiliser pour diverses raisons, alors j'utiliserai cette clé d'accès et cette clé d'accès secrète.
Accessing Amazon Athena with JDBC — User Guide
En référence à la page ci-dessus, la clé d'accès a été définie dans la propriété ʻuser, et la clé d'accès secrète a été définie dans le même
password`.
info.put("s3_staging_dir", "s3://us-standar-region-phx-athena");
info.put("user", "AWSACCESSKEYID");
info.put("password", "AWSSECRETACCESSKEY");
-Apportez le pilote JDBC depuis Accès à Amazon Athena avec JDBC - Guide de l'utilisateur
-Apportez le kit AWS SDK depuis AWS SDK for Java | AWS
--En mode journalisation, une erreur s'est produite si cette classe n'était pas disponible. Si nécessaire, Apache Commons Logging --Télécharger Apache Commons Logging Apportez commons-logging-1.2-bin.zip
depuis .cgi)
Décompressez les trois éléments ci-dessus et ajoutez chaque pot au projet. Faites un clic droit sur le projet dans Netbeas> Propriétés> Bibliothèque> Ajouter JAR / Dossier> 3 fois
La base de données par défaut est correctement spécifiée sur la console Web, mais vous devez la spécifier correctement via celle-ci. (Parce que vous pouvez spécifier la base de données par défaut, vous devriez le faire)
Par exemple
select * from target_table limit 3;
Est
select * from logs.target_table limit 3;
Comme ça.
Recommended Posts