Memulai dengan driver JDBC 3.x - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memulai dengan driver JDBC 3.x

Gunakan informasi di bagian ini untuk memulai dengan driver Amazon Athena JDBC 3.x.

Petunjuk Instalasi

Anda dapat menggunakan driver JDBC 3.x dalam aplikasi khusus atau dari SQL klien pihak ketiga.

Dalam aplikasi khusus

Unduh .zip file yang berisi jar driver dan dependensinya. Setiap dependensi memiliki .jar file sendiri. Tambahkan jar driver sebagai dependensi dalam aplikasi kustom Anda. Secara selektif tambahkan dependensi jar driver berdasarkan apakah Anda telah menambahkan dependensi tersebut ke aplikasi Anda dari sumber lain.

Di SQL klien pihak ketiga

Unduh file jar uber driver dan tambahkan ke SQL klien pihak ketiga mengikuti instruksi untuk klien itu.

Menjalankan pengemudi

Untuk menjalankan driver, Anda dapat menggunakan aplikasi khusus atau SQL klien pihak ketiga.

Dalam aplikasi khusus

Gunakan JDBC antarmuka untuk berinteraksi dengan JDBC driver dari suatu program. Kode berikut menunjukkan contoh aplikasi Java kustom.

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 }

Di SQL klien pihak ketiga

Ikuti dokumentasi untuk SQL klien yang Anda gunakan. Biasanya, Anda menggunakan antarmuka pengguna grafis SQL klien untuk memasukkan dan mengirimkan kueri, dan hasil kueri ditampilkan dalam antarmuka yang sama.

Mengkonfigurasi driver

Anda dapat menggunakan parameter koneksi untuk mengonfigurasi driver Amazon AthenaJDBC. Untuk parameter koneksi yang didukung, lihatParameter koneksi Amazon Athena JDBC 3.x.

Dalam aplikasi khusus

Untuk mengatur parameter koneksi untuk JDBC driver dalam aplikasi khusus, lakukan salah satu hal berikut:

  • Tambahkan nama parameter dan nilainya ke Properties objek. Saat Anda meneleponConnection#connect, lewati objek itu bersama denganURL. Sebagai contoh, lihat contoh aplikasi Java diMenjalankan pengemudi.

  • Dalam string koneksi (theURL), gunakan format berikut untuk menambahkan nama parameter dan nilainya langsung setelah awalan protokol.

    <parameterName>=<parameterValue>;

    Gunakan titik koma di akhir setiap pasangan nama/parameter nilai parameter, dan tidak meninggalkan spasi putih setelah titik koma, seperti pada contoh berikut.

    String url = "jdbc:athena://WorkGroup=primary;Region=us-east-1;...;";AthenaDriver driver = new AthenaDriver();Connection connection = driver.connect(url, null);
    catatan

    Jika parameter ditentukan baik dalam string koneksi dan Properties objek, nilai dalam string koneksi diutamakan. Menentukan parameter yang sama di kedua tempat tidak disarankan.

  • Tambahkan nilai parameter sebagai argumen untuk metodeAthenaDataSource, seperti dalam contoh berikut.

    AthenaDataSource dataSource = new AthenaDataSource(); dataSource.setWorkGroup("primary"); dataSource.setRegion("us-east-2"); ... Connection connection = dataSource.getConnection(); ...

Di SQL klien pihak ketiga

Ikuti instruksi dari SQL klien yang Anda gunakan. Biasanya, klien menyediakan antarmuka pengguna grafis untuk memasukkan nama parameter dan nilainya.

Upgrade dari driver JDBC Athena v2

Sebagian besar parameter koneksi JDBC versi 3 kompatibel dengan driver versi 2 (Simba). JDBC Ini berarti bahwa string koneksi versi 2 dapat digunakan kembali dengan versi 3 driver. Namun, beberapa parameter koneksi telah berubah. Perubahan ini dijelaskan di sini. Saat Anda meningkatkan ke JDBC driver versi 3, perbarui konfigurasi yang ada jika perlu.

Kelas pengemudi

Beberapa alat BI meminta Anda untuk memberikan kelas driver dari .jar file JDBC driver. Sebagian besar alat menemukan kelas ini secara otomatis. Nama kelas yang sepenuhnya memenuhi syarat dalam driver versi 3 adalahcom.amazon.athena.jdbc.AthenaDriver. Di driver versi 2, kelasnyacom.simba.athena.jdbc.Driver.

String koneksi

Driver versi 3 digunakan jdbc:athena:// untuk protokol di awal string JDBC koneksiURL. Driver versi 3 juga mendukung protokol versi 2jdbc:awsathena://, tetapi penggunaan protokol versi 2 tidak digunakan lagi. Untuk menghindari perilaku yang tidak terdefinisi, versi 3 tidak menerima string koneksi yang dimulai dengan jdbc:awsathena:// jika versi 2 (atau driver lain yang menerima string koneksi yang dimulai denganjdbc:awsathena://) telah terdaftar di kelas. DriverManager

Penyedia kredensyal

Driver versi 2 menggunakan nama yang sepenuhnya memenuhi syarat untuk mengidentifikasi penyedia kredensyal yang berbeda (misalnya,. com.simba.athena.amazonaws.auth.DefaultAWSCredentialsProviderChain Driver versi 3 menggunakan nama yang lebih pendek (misalnya,DefaultChain). Nama-nama baru dijelaskan di bagian yang sesuai untuk setiap penyedia kredensyal.

Penyedia kredensi khusus yang ditulis untuk driver versi 2 perlu dimodifikasi untuk driver versi 3 untuk mengimplementasikan AwsCredentialsProviderantarmuka dari yang baru AWS SDK for Java alih-alih AWSCredentialsProviderantarmuka dari sebelumnya. AWS SDK for Java

PropertiesFileCredentialsProviderTidak didukung di driver JDBC 3.x. Penyedia digunakan dalam driver JDBC 2.x tetapi milik versi sebelumnya AWS SDK untuk Java yang mendekati akhir dukungan. Untuk mencapai fungsionalitas yang sama di driver JDBC 3.x, gunakan AWS kredensial profil konfigurasi penyedia sebagai gantinya.

Tingkat log

Tabel berikut menunjukkan perbedaan LogLevel parameter pada driver JDBC versi 2 dan versi 3.

JDBCversi driver Nama parameter Jenis parameter Nilai default Kemungkinan nilai Contoh string koneksi
v2 LogLevel Opsional 0 0-6 LogLevel=6;
v3 LogLevel Opsional TRACE OFF, ERROR, WARN, INFO, DEBUG, TRACE LogLevel=INFO;

Pengambilan ID kueri

Dalam driver versi 2, Anda membuka Statement instance kecom.interfaces.core.IStatementQueryInfoProvider, antarmuka yang memiliki dua metode: #getPReparedQueryId dan#getQueryId. Anda dapat menggunakan metode ini untuk mendapatkan ID eksekusi kueri dari kueri yang telah berjalan.

Dalam driver versi 3, Anda membuka, StatementPreparedStatement, dan ResultSet instance ke antarmuka. com.amazon.athena.jdbc.AthenaResultSet Antarmuka memiliki satu metode:#getQueryExecutionId.