Nama database, tabel, dan kolom - Amazon Athena

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

Nama database, tabel, dan kolom

Gunakan panduan ini untuk penamaan database, tabel, dan kolom di Athena.

Persyaratan nama database, tabel, dan kolom

  • Karakter yang dapat diterima untuk nama database, nama tabel, dan nama kolom AWS Glue harus berupa string UTF -8 dan harus dalam huruf kecil. Perhatikan bahwa Athena secara otomatis menurunkan nama huruf besar dalam DDL kueri saat membuat database, tabel, atau kolom. Panjang string tidak boleh kurang dari 1 atau lebih dari 255 byte.

  • Saat ini, dimungkinkan untuk memiliki spasi terkemuka di awal nama. Karena ruang terdepan ini sulit dideteksi dan dapat menyebabkan masalah kegunaan setelah pembuatan, hindari secara tidak sengaja membuat nama objek yang memiliki spasi terdepan.

  • Jika Anda menggunakan AWS CloudFormation template AWS: :Glue: :Database untuk membuat AWS Glue database dan tidak menentukan nama database, AWS Glue secara otomatis menghasilkan nama database dalam format resource_name–random_string Itu tidak kompatibel dengan Athena.

  • Anda dapat menggunakan Pengelola AWS Glue Katalog untuk mengganti nama kolom, tetapi bukan nama tabel atau nama database. Untuk mengatasi batasan ini, Anda harus menggunakan definisi database lama untuk membuat database dengan nama baru. Kemudian Anda menggunakan definisi tabel dari database lama untuk membuat ulang tabel dalam database baru. Untuk melakukan ini, Anda dapat menggunakan AWS CLI atau AWS Glue SDK. Untuk langkah, lihat Gunakan AWS CLI untuk membuat ulang AWS Glue database dan tabelnya.

Gunakan huruf kecil untuk nama tabel dan nama kolom tabel di Athena

Athena menerima kasus campuran DDL dan DML kueri, tetapi huruf kecil nama saat mengeksekusi kueri. Untuk alasan ini, hindari menggunakan kotak campuran untuk nama tabel atau kolom, dan jangan mengandalkan casing saja di Athena untuk membedakan nama-nama tersebut. Misalnya, jika Anda menggunakan DDL pernyataan untuk membuat kolom bernamaCastle, kolom yang dibuat akan diturunkan ke. castle Jika Anda kemudian menentukan nama kolom dalam DML kueri sebagai Castle atauCASTLE, Athena akan huruf kecil nama bagi Anda untuk menjalankan kueri, tetapi menampilkan judul kolom menggunakan casing yang Anda pilih dalam kueri.

Nama database, tabel, dan kolom harus kurang dari atau sama dengan 255 karakter.

Nama yang dimulai dengan garis bawah

Saat membuat tabel, gunakan backticks untuk melampirkan nama tabel, tampilan, atau kolom yang dimulai dengan garis bawah. Sebagai contoh:

CREATE EXTERNAL TABLE IF NOT EXISTS `_myunderscoretable`( `_id` string, `_index` string) LOCATION 's3://amzn-s3-demo-bucket/'

Nama tabel, tampilan, atau kolom yang dimulai dengan angka

Saat menjalankanSELECT,CTAS, atau VIEW kueri, letakkan tanda kutip di sekitar pengidentifikasi seperti nama tabel, tampilan, atau kolom yang dimulai dengan digit. Sebagai contoh:

CREATE OR REPLACE VIEW "123view" AS SELECT "123columnone", "123columntwo" FROM "234table"

Nama kolom dan tipe kompleks

Untuk tipe kompleks, hanya karakter alfanumerik, garis bawah (_), dan periode (.) yang diizinkan dalam nama kolom. Untuk membuat tabel dan pemetaan kunci yang memiliki karakter terbatas, Anda dapat menggunakan pernyataan kustomDDL. Untuk informasi selengkapnya, lihat artikel Membuat tabel di Amazon Athena dari bersarang JSON dan pemetaan menggunakan JSONSerDe di Blog Big Data.AWS

Kata yang dicadangkan

Kata-kata pendiam tertentu di Athena harus lolos. Untuk menghindari kata kunci yang dicadangkan dalam DDL pernyataan, lampirkan dalam backticks (`). Untuk menghindari kata kunci yang dicadangkan dalam SQL SELECT pernyataan dan kueri pada tampilan, lampirkan dalam tanda kutip ganda (“).

Untuk informasi selengkapnya, lihat Melarikan diri dari kata kunci yang dicadangkan dalam kueri.

Sumber daya tambahan

Untuk database lengkap dan sintaks pembuatan tabel, lihat halaman berikut.

Untuk informasi selengkapnya tentang database dan tabel AWS Glue, lihat Database dan Tabel di Panduan AWS Glue Pengembang.