Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erste Schritte mit dem JDBC 3.x-Treiber
Verwenden Sie die Informationen in diesem Abschnitt, um mit dem Amazon Athena JDBC 3.x-Treiber zu beginnen.
Themen
Installationsanleitungen
Sie können den JDBC 3.x-Treiber in einer benutzerdefinierten Anwendung oder von einem Drittanbieter-Client aus verwenden. SQL
In einer benutzerdefinierten Anwendung
Laden Sie die .zip
-Datei herunter, die die Treiber-jar und ihre Abhängigkeiten enthält. Jede Abhängigkeit hat ihre eigene .jar
-Datei. Fügen Sie in Ihrer benutzerdefinierten Anwendung die Treiber-jar als Abhängigkeit hinzu. Fügen Sie die Abhängigkeiten der Treiber-jar selektiv hinzu, je nachdem, ob Sie diese Abhängigkeiten bereits aus einer anderen Quelle zu Ihrer Anwendung hinzugefügt haben.
In einem Drittanbieter-Client SQL
Laden Sie die Treiber-Uber-JAR-Datei herunter und fügen Sie sie dem SQL Drittanbieter-Client hinzu, indem Sie den Anweisungen für diesen Client folgen.
Ausführen des Treibers
Um den Treiber auszuführen, können Sie eine benutzerdefinierte Anwendung oder einen SQL Drittanbieter-Client verwenden.
In einer benutzerdefinierten Anwendung
Verwenden Sie die JDBC Schnittstelle, um von einem Programm aus mit dem JDBC Treiber zu interagieren. Der folgende Code zeigt eine benutzerdefinierte Java-Beispielanwendung.
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 }
In einem SQL Drittanbieter-Client
Folgen Sie der Dokumentation für den SQL Client, den Sie verwenden. In der Regel verwenden Sie die grafische Benutzeroberfläche des SQL Clients, um die Abfrage einzugeben und zu senden, und die Abfrageergebnisse werden auf derselben Oberfläche angezeigt.
Konfigurieren des Treibers
Sie können Verbindungsparameter verwenden, um den Amazon Athena JDBC Athena-Treiber zu konfigurieren. Informationen zu unterstützten Verbindungsparametern finden Sie unter Amazon-Athena-JDBC-3.x-Verbindungsparameter.
In einer benutzerdefinierten Anwendung
Gehen Sie wie folgt vor, um die Verbindungsparameter für den JDBC Treiber in einer benutzerdefinierten Anwendung festzulegen:
-
Fügen Sie die Parameternamen und ihre Werte zu einem
Properties
-Objekt hinzu. Wenn Sie aufrufenConnection#connect
, übergeben Sie dieses Objekt zusammen mit demURL. Ein Beispiel dafür finden Sie in der Java-Beispielanwendung in Ausführen des Treibers. -
Verwenden Sie in der Verbindungszeichenfolge (theURL) das folgende Format, um die Parameternamen und ihre Werte direkt nach dem Protokollpräfix hinzuzufügen.
<parameterName>
=<parameterValue>
;Verwenden Sie am Ende jedes Paars aus Parameternamen und Parameterwerten ein Semikolon und setzen Sie nach dem Semikolon kein Leerzeichen, wie im folgenden Beispiel.
String url = "jdbc:athena://WorkGroup=primary;Region=us-east-1;...;";AthenaDriver driver = new AthenaDriver();Connection connection = driver.connect(url, null);
Anmerkung
Wenn ein Parameter sowohl in der Verbindungszeichenfolge als auch im
Properties
-Objekt angegeben ist, hat der Wert in der Verbindungszeichenfolge Vorrang. Es wird nicht empfohlen, an beiden Stellen denselben Parameter anzugeben. -
Fügen Sie die Parameterwerte als Argumente zu den Methoden von
AthenaDataSource
hinzu, wie im folgenden Beispiel.AthenaDataSource dataSource = new AthenaDataSource(); dataSource.setWorkGroup("primary"); dataSource.setRegion("us-east-2"); ... Connection connection = dataSource.getConnection(); ...
In einem SQL Drittanbieter-Client
Folgen Sie den Anweisungen des SQL Clients, den Sie verwenden. In der Regel bietet der Client eine grafische Benutzeroberfläche zur Eingabe der Parameternamen und ihrer Werte.
Upgrade vom Athena JDBC v2-Treiber
Die meisten Verbindungsparameter der JDBC Version 3 sind abwärtskompatibel mit dem Treiber der Version 2 (Simba). JDBC Das bedeutet, dass eine Verbindungszeichenfolge der Version 2 mit Version 3 des Treibers wiederverwendet werden kann. Einige Verbindungsparameter haben sich jedoch geändert. Diese Änderungen werden hier beschrieben. Wenn Sie auf den JDBC Treiber der Version 3 aktualisieren, aktualisieren Sie gegebenenfalls Ihre bestehende Konfiguration.
Treiberklasse
Bei einigen BI-Tools werden Sie aufgefordert, die Treiberklasse aus der JDBC .jar
Treiberdatei anzugeben. Die meisten Tools finden diese Klasse automatisch. Der vollständig qualifizierte Name der Klasse im Treiber der Version 3 lautet com.amazon.athena.jdbc.AthenaDriver
. Im Treiber der Version 2 war die Klasse com.simba.athena.jdbc.Driver
.
Verbindungszeichenfolge
Der Treiber der Version 3 verwendet jdbc:athena://
für das Protokoll am Anfang der JDBC VerbindungszeichenfolgeURL. Der Version 3-Treiber unterstützt auch das Version 2-Protokolljdbc:awsathena://
, aber die Verwendung des Version 2-Protokolls ist veraltet. Um undefiniertes Verhalten zu vermeiden, akzeptiert Version 3 keine Verbindungszeichenfolgen, die damit beginnen, jdbc:awsathena://
ob Version 2 (oder ein anderer Treiber, der Verbindungszeichenfolgen akzeptiert, die mit beginnenjdbc:awsathena://
) bei der Klasse registriert wurde. DriverManager
Anmeldeinformationsanbieter
Der Treiber der Version 2 verwendet vollqualifizierte Namen, um verschiedene Anbieter von Anmeldeinformationen zu identifizieren, z. B. com.simba.athena.amazonaws.auth.DefaultAWSCredentialsProviderChain
. Der Treiber der Version 3 verwendet kürzere Namen, z. B. DefaultChain
. Die neuen Namen werden in den entsprechenden Abschnitten für jeden Anbieter von Anmeldeinformationen beschrieben.
Anbieter für benutzerdefinierte Anmeldeinformationen, die für den Treiber der Version 2 geschrieben wurden, müssen geändert werden, damit der Treiber der Version 3 die AwsCredentialsProvider
Der PropertiesFileCredentialsProvider
wird im JDBC 3.x-Treiber nicht unterstützt. Der Anbieter wurde im JDBC 2.x-Treiber verwendet, gehört aber zur Vorgängerversion von AWS SDK für Java, deren Support sich dem Ende nähert. Verwenden Sie stattdessen den AWS
-Anmeldeinformationen eines Konfigurationsprofils Anbieter, um dieselbe Funktionalität im JDBC 3.x-Treiber zu erreichen.
Protokollebene
Die folgende Tabelle zeigt die Unterschiede in den LogLevel
Parametern der Treiber der JDBC Versionen 2 und 3.
JDBC-Treiberversion | Parametername | Parametertyp | Standardwert | Mögliche Werte | Beispiel für Verbindungszeichenfolgen |
---|---|---|---|---|---|
v2 | LogLevel |
Optional | 0 | 0-6 | LogLevel=6; |
v3 | LogLevel |
Optional | TRACE | OFF, ERROR, WARN, INFO, DEBUG, TRACE | LogLevel=INFO; |
Abrufen der Abfrage-ID
Im Treiber der Version 2 entpacken Sie eine Statement
-Instance nach com.interfaces.core.IStatementQueryInfoProvider
, eine Schnittstelle, die über zwei Methoden verfügt: #getPReparedQueryId
und #getQueryId
. Sie können diese Methoden verwenden, um die Abfrageausführungs-ID einer Abfrage abzurufen, die ausgeführt wurde.
Im Treiber der Version 3 entpacken Sie die Instances Statement
, PreparedStatement
, und ResultSet
in die Schnittstelle com.amazon.athena.jdbc.AthenaResultSet
. Die Schnittstelle hat eine Methode: #getQueryExecutionId
.