Memulai dengan AWS Glue Data Catalog - AWS Glue

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

Memulai dengan AWS Glue Data Catalog

AWS Glue Data CatalogIni adalah toko metadata teknis Anda yang persisten. Ini adalah layanan terkelola yang dapat Anda gunakan untuk menyimpan, membubuhi keterangan, dan berbagi metadata di Cloud. AWS Untuk informasi selengkapnya, lihat AWS Glue Data Catalog.

AWS GlueKonsol dan beberapa antarmuka pengguna baru-baru ini diperbarui.

Ikhtisar

Anda dapat menggunakan tutorial ini untuk membuat Katalog AWS Glue Data pertama Anda, yang menggunakan bucket Amazon S3 sebagai sumber data Anda.

Dalam tutorial ini, Anda akan melakukan hal berikut menggunakan AWS Glue konsol:

  1. Buat database

  2. Buat tabel

  3. Gunakan bucket Amazon S3 sebagai sumber data

Setelah menyelesaikan langkah-langkah ini, Anda akan berhasil menggunakan bucket Amazon S3 sebagai sumber data untuk mengisi Katalog Data. AWS Glue

Langkah 1: Buat database

Untuk memulai, masuk ke AWS Management Console dan buka AWS Gluekonsol.

Untuk membuat database menggunakan AWS Glue konsol:

  1. Di AWS Glue konsol, pilih Database di bawah Katalog data dari menu sebelah kiri.

  2. Pilih Add database (Tambahkan basis data).

  3. Di halaman Buat database, masukkan nama untuk database. Di bagian Lokasi - opsional, atur lokasi URI untuk digunakan oleh klien Katalog Data. Jika Anda tidak mengetahui hal ini, Anda dapat melanjutkan dengan membuat database.

  4. (Opsional). Masukkan deskripsi untuk database.

  5. Pilih Buat basis data.

Selamat, Anda baru saja menyiapkan database pertama Anda menggunakan AWS Glue konsol. Database baru Anda akan muncul dalam daftar database yang tersedia. Anda dapat mengedit database dengan memilih nama database dari dasbor Database.

Langkah selanjutnya

Cara lain untuk membuat database:

Anda baru saja membuat database menggunakan AWS Glue konsol, tetapi ada cara lain untuk membuat database:

  • Anda dapat menggunakan crawler untuk membuat database dan tabel untuk Anda secara otomatis. Untuk menyiapkan database menggunakan crawler, lihat Bekerja dengan Crawler di Konsol. AWS Glue

  • Anda dapat menggunakan AWS CloudFormation template. Lihat Membuat AWS Glue Sumber Daya Menggunakan AWS Glue Data Catalog Template.

  • Anda juga dapat membuat database menggunakan operasi API AWS Glue Database.

    Untuk membuat database menggunakan create operasi, struktur permintaan dengan memasukkan parameter DatabaseInput (wajib).

    Sebagai contoh:

    Berikut ini adalah contoh bagaimana Anda dapat menggunakan CLI, Boto3, atau DDL untuk menentukan tabel berdasarkan file flights_data.csv yang sama dari bucket S3 yang Anda gunakan dalam tutorial.

    CLI
    aws glue create-database --database-input "{\"Name\":\"clidb\"}"
    Boto3
    glueClient = boto3.client('glue') response = glueClient.create_database( DatabaseInput={ 'Name': 'boto3db' } )

Untuk informasi selengkapnya tentang tipe, struktur, dan operasi data API Database, lihat API Database.

Langkah selanjutnya

Di bagian berikutnya, Anda akan membuat tabel dan menambahkan tabel itu ke database Anda.

Anda juga dapat menjelajahi pengaturan dan izin untuk Katalog Data Anda. Lihat Bekerja dengan Pengaturan Katalog Data di AWS Glue Konsol.

Langkah 2. Buat tabel

Pada langkah ini, Anda membuat tabel menggunakan AWS Glue konsol.

  1. Di AWS Glue konsol, pilih Tabel di menu sebelah kiri.

  2. Pilih Tambahkan tabel.

  3. Atur properti tabel Anda dengan memasukkan nama untuk tabel Anda di detail Tabel.

  4. Di bagian Database, pilih database yang Anda buat di Langkah 1 dari menu drop-down.

  5. Di bagian Tambahkan penyimpanan data, S3 akan dipilih secara default sebagai jenis sumber.

  6. Untuk Data terletak di, pilih Jalur yang ditentukan di akun lain.

  7. Salin dan tempel jalur untuk bidang Include path input:

    s3://crawler-public-us-west-2/flight/2016/csv/

  8. Di bagian Format data, untuk Klasifikasi, pilih CSV. Dan untuk Delimiter, pilih koma (,). Pilih Berikutnya.

  9. Anda diminta untuk mendefinisikan skema. Sebuah skema mendefinisikan struktur dan format catatan data. Pilih Tambahkan kolom. (Untuk informasi selengkapnya, lihat Daftar skema).

  10. Tentukan properti kolom:

    1. Masukkan nama kolom.

    2. Untuk tipe Kolom, 'string' sudah dipilih secara default.

    3. Untuk nomor Kolom, '1' sudah dipilih secara default.

    4. Pilih Tambahkan.

  11. Anda diminta untuk menambahkan indeks partisi. Ini bersifat opsional. Untuk melewati langkah ini, pilih Berikutnya.

  12. Ringkasan properti tabel ditampilkan. Jika semuanya terlihat seperti yang diharapkan, pilih Buat. Jika tidak, pilih Kembali dan lakukan pengeditan sesuai kebutuhan.

Selamat, Anda telah berhasil membuat tabel secara manual dan mengaitkannya ke database. Tabel yang baru Anda buat akan muncul di dasbor Tabel. Dari dasbor, Anda dapat memodifikasi dan mengelola semua tabel Anda.

Untuk informasi selengkapnya, lihat Bekerja dengan Tabel di AWS Glue Konsol.

Langkah selanjutnya

Langkah selanjutnya

Sekarang setelah Katalog Data diisi, Anda dapat mulai menulis pekerjaan di. AWS Glue Lihat Membangun pekerjaan ETL visual dengan AWS Glue Studio.

Selain menggunakan konsol, ada cara lain untuk menentukan tabel di Katalog Data termasuk:

  • Membuat dan menjalankan crawler

  • Menambahkan pengklasifikasi ke crawler di AWS Glue

  • Menggunakan API AWS Glue Tabel

  • Menggunakan AWS Glue Data Catalog template

  • Migrasi metastore Apache Hive

  • Menggunakan AWS CLI, Boto3, atau bahasa definisi data (DDL)

    Berikut ini adalah contoh bagaimana Anda dapat menggunakan CLI, Boto3, atau DDL untuk menentukan tabel berdasarkan file flights_data.csv yang sama dari bucket S3 yang Anda gunakan dalam tutorial.

    Lihat dokumentasi tentang cara menyusun AWS CLI perintah. Contoh CLI berisi sintaks JSON untuk nilai 'aws glue create-table --table-input'.

    CLI
    { "Name": "flights_data_cli", "StorageDescriptor": { "Columns": [ { "Name": "year", "Type": "bigint" }, { "Name": "quarter", "Type": "bigint" } ], "Location": "s3://crawler-public-us-west-2/flight/2016/csv", "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "Compressed": false, "NumberOfBuckets": -1, "SerdeInfo": { "SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe", "Parameters": { "field.delim": ",", "serialization.format": "," } } }, "PartitionKeys": [ { "Name": "mon", "Type": "string" } ], "TableType": "EXTERNAL_TABLE", "Parameters": { "EXTERNAL": "TRUE", "classification": "csv", "columnsOrdered": "true", "compressionType": "none", "delimiter": ",", "skip.header.line.count": "1", "typeOfData": "file" } }
    Boto3
    import boto3 glue_client = boto3.client("glue") response = glue_client.create_table( DatabaseName='sampledb', TableInput={ 'Name': 'flights_data_manual', 'StorageDescriptor': { 'Columns': [{ 'Name': 'year', 'Type': 'bigint' }, { 'Name': 'quarter', 'Type': 'bigint' }], 'Location': 's3://crawler-public-us-west-2/flight/2016/csv', 'InputFormat': 'org.apache.hadoop.mapred.TextInputFormat', 'OutputFormat': 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat', 'Compressed': False, 'NumberOfBuckets': -1, 'SerdeInfo': { 'SerializationLibrary': 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe', 'Parameters': { 'field.delim': ',', 'serialization.format': ',' } }, }, 'PartitionKeys': [{ 'Name': 'mon', 'Type': 'string' }], 'TableType': 'EXTERNAL_TABLE', 'Parameters': { 'EXTERNAL': 'TRUE', 'classification': 'csv', 'columnsOrdered': 'true', 'compressionType': 'none', 'delimiter': ',', 'skip.header.line.count': '1', 'typeOfData': 'file' } } )
    DDL
    CREATE EXTERNAL TABLE `sampledb`.`flights_data` ( `year` bigint, `quarter` bigint) PARTITIONED BY ( `mon` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://crawler-public-us-west-2/flight/2016/csv/' TBLPROPERTIES ( 'classification'='csv', 'columnsOrdered'='true', 'compressionType'='none', 'delimiter'=',', 'skip.header.line.count'='1', 'typeOfData'='file')