Nama untuk tabel, database, 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 untuk tabel, database, dan kolom

Gunakan tips ini untuk penamaan objek database 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. Panjang string tidak boleh kurang dari 1 atau lebih dari 255 byte. Melebihi batas ini menghasilkan kesalahan seperti Nilai pada 'nama' gagal memenuhi kendala: Anggota harus memiliki panjang kurang dari atau sama dengan 255. Karakter yang dapat digunakan termasuk spasi dan ditentukan oleh pola string baris tunggal berikut:

    [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*
  • Saat ini, pola AWS Glue regex memungkinkan spasi utama ditambahkan ke awal nama. Karena ruang terdepan ini sulit dideteksi dan dapat menyebabkan masalah kegunaan setelah pembuatan, hindari membuat nama objek yang memiliki spasi terdepan.

  • Jika Anda menggunakan AWS::Glue::Database AWS CloudFormation template untuk membuat AWS Glue database dan tidak menentukan nama database, AWS Glue secara otomatis menghasilkan nama database dalam format resource_name—random_string yang 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 Menggunakan 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 dalam kueri DDL dan DHTML, 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 pernyataan DDL untuk membuat kolom bernamaCastle, kolom yang dibuat akan diturunkan ke. castle Jika Anda kemudian menentukan nama kolom dalam kueri DHTML 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://DOC-EXAMPLE-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 untuk kunci yang memiliki karakter terbatas, Anda dapat menggunakan pernyataan DDL kustom. Untuk informasi selengkapnya, lihat artikel Membuat tabel di Amazon Athena dari JSON bersarang dan pemetaan menggunakan SerDe JSON di Blog Big Data.AWS

Kata yang dicadangkan

Kata-kata pendiam tertentu di Athena harus lolos. Untuk melepaskan kata kunci cadangan dalam pernyataan DDL, sertakan kata kunci tersebut dalam backtick (`). Untuk melepaskan kata kunci cadangan dalam pernyataan SELECT SQL dan dalam kueri pada tampilan, sertakan kata kunci dalam tanda kutip ganda (“).

Untuk informasi selengkapnya, lihat Kata kunci terpesan.

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.