Membuat skema - AWS Glue

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

Membuat skema

Anda dapat membuat skema menggunakan AWS Glue APIs atau AWS Glue konsol.

AWS Glue APIs

Anda dapat menggunakan langkah-langkah ini untuk melakukan tugas ini menggunakan AWS GlueAPIs.

Untuk menambahkan skema baru, gunakan. CreateSchema tindakan (Python: create_schema) API

Menentukan sebuah struktur RegistryId untuk menunjukkan registri untuk skema tersebut. Atau, menghilangkan RegistryId untuk menggunakan registri default.

Menentukan SchemaName yang terdiri dari huruf, angka, tanda hubung, atau garis bawah, dan DataFormat sebagai AVRO atau JSON. DataFormat setelah ditetapkan pada skema tidak dapat diubah.

Menentukan mode Compatibility:

  • Backward (disarankan) — Konsumen dapat membaca versi saat ini dan sebelumnya.

  • Backward all — Konsumen dapat membaca versi terkini dan semua versi sebelumnya.

  • Forward — Konsumen dapat membaca baik versi saat ini dan versi berikutnya.

  • Forward all — Konsumen dapat membaca baik versi saat ini dan semua versi berikutnya.

  • Full — Kombinasi dari Backward dan Forward.

  • Full all — Kombinasi dari Backward all dan Forward all.

  • None — Tidak ada pemeriksaan kompatibilitas yang dilakukan.

  • Disabled — Mencegah versioning apapun untuk skema ini.

Opsional, tentukan Tags untuk skema Anda.

Tentukan a SchemaDefinition untuk menentukan skema dalam format data Avro,JSON, atau Protobuf. Lihat contoh-contohnya.

Untuk format data Avro:

aws glue create-schema --registry-id RegistryName="registryName1" --schema-name testschema --compatibility NONE --data-format AVRO --schema-definition "{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName1" --schema-name testschema --compatibility NONE --data-format AVRO --schema-definition "{\"type\": \"record\", \"name\": \"r1\", \"fields\": [ {\"name\": \"f1\", \"type\": \"int\"}, {\"name\": \"f2\", \"type\": \"string\"} ]}"

Untuk format JSON data:

aws glue create-schema --registry-id RegistryName="registryName" --schema-name testSchemaJson --compatibility NONE --data-format JSON --schema-definition "{\"$schema\": \"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"f1\":{\"type\":\"string\"}}}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName" --schema-name testSchemaJson --compatibility NONE --data-format JSON --schema-definition "{\"$schema\": \"http://json-schema.org/draft-07/schema#\",\"type\":\"object\",\"properties\":{\"f1\":{\"type\":\"string\"}}}"

Untuk format data Protobuf:

aws glue create-schema --registry-id RegistryName="registryName" --schema-name testSchemaProtobuf --compatibility NONE --data-format PROTOBUF --schema-definition "syntax = \"proto2\";package org.test;message Basic { optional int32 basic = 1;}"
aws glue create-schema --registry-id RegistryArn="arn:aws:glue:us-east-2:901234567890:registry/registryName" --schema-name testSchemaProtobuf --compatibility NONE --data-format PROTOBUF --schema-definition "syntax = \"proto2\";package org.test;message Basic { optional int32 basic = 1;}"
Konsol AWS Glue

Untuk menambahkan sebuah skema baru menggunakan konsol AWS Glue:

  1. Masuk ke Konsol AWS Manajemen dan buka AWS Glue konsol di https://console.aws.amazon.com/glue/.

  2. Di panel navigasi, pada Katalog data, pilih Skema.

  3. Pilih Tambahkan skema.

  4. Masukkan Nama skema, terdiri dari huruf, angka, tanda hubung, garis bawah, tanda dolar, atau tanda hash. Nama ini tidak dapat diubah.

  5. Pilih Registri di mana skema akan disimpan dari menu drop-down. Registri induk tidak dapat diubah setelah dibuat.

  6. Biarkan format Data sebagai Apache Avro atau. JSON Format ini berlaku untuk semua versi skema ini.

  7. Pilih Mode kompatibilitas.

    • Backward (disarankan) — Penerima dapat membaca versi saat ini dan sebelumnya.

    • Backward all — Penerima dapat membaca versi terkini dan semua versi sebelumnya.

    • Forward — Pengirim dapat menulis baik versi terkini dan versi sebelumnya.

    • Forward all — Pengirim dapat menulis versi terkini dan semua versi sebelumnya.

    • Full — Kombinasi dari Backward dan Forward.

    • Full all — Kombinasi dari Backward All dan Forward All.

    • None — Tidak ada pemeriksaan kompatibilitas yang dilakukan.

    • Disabled — Mencegah versioning apapun untuk skema ini.

  8. Masukkan Deskripsi opsional untuk registri yang terdiri hingga 250 karakter.

    Contoh membuat sebuah skema.
  9. Opsional, terapkan satu atau beberapa tag untuk skema Anda. Pilih Tambahkan tag dan tentukan Kunci tag dan Nilai tag opsional.

  10. Pada kotak Versi skema pertama, masukkan atau tempel skema awal Anda.

    Untuk format Avro, lihat Bekerja dengan format data Avro

    Untuk JSON format, lihat Bekerja dengan format JSON data

  11. Opsional, pilih Tambahkan metadata untuk menambahkan metadata versi untuk membuat anotasi atau mengklasifikasikan versi skema Anda.

  12. Pilih Buat skema dan versi.

Contoh membuat sebuah skema.

Skema dibuat dan muncul dalam daftar pada Skema.

Bekerja dengan format data Avro

Avro menyediakan layanan serialisasi data dan pertukaran data. Avro menyimpan definisi data dalam JSON format sehingga mudah dibaca dan ditafsirkan. Data itu sendiri disimpan dalam format biner.

Untuk informasi tentang cara mendefinisikan skema Apache Avro, lihat Spesifikasi Apache Avro.

Bekerja dengan format JSON data

Data dapat diserialkan dengan JSON format. JSONFormat skema mendefinisikan standar untuk format JSON Skema.