

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
<a name="start-data-catalog"></a>

 AWS Glue Data Catalog Ini 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](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro). 


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

## Ikhtisar
<a name="start-data-catalog-overview"></a>

 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 

1.  Membuat tabel 

1.  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
<a name="start-data-catalog-database"></a>

 Untuk memulai, masuk ke Konsol Manajemen AWS dan buka [AWS Gluekonsol](https://console.aws.amazon.com/glue). 

 **Untuk membuat database menggunakan AWS Glue konsol:** 

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

1.  Pilih **Add database** (Tambahkan basis data). 

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

1.  (Opsional). Masukkan deskripsi untuk database. 

1.  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](https://docs.aws.amazon.com/glue/latest/dg/console-crawlers.html) 
+  Anda dapat menggunakan CloudFormation template. Lihat [Membuat AWS Glue Sumber Daya Menggunakan AWS Glue Data Catalog Template](https://docs.aws.amazon.com/glue/latest/dg/populate-with-cloudformation-templates.html). 
+  Anda juga dapat membuat database menggunakan operasi API AWS Glue Database. 

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

   Contoh:   
****  
 Berikut ini adalah contoh bagaimana Anda dapat menggunakan CLI, Boto3, atau DDL untuk menentukan tabel berdasarkan file flights\$1data.csv yang sama dari bucket S3 yang Anda gunakan dalam tutorial.   

  ```
  aws glue create-database --database-input "{\"Name\":\"clidb\"}"                                              
  ```

  ```
  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](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-databases.html). 

 **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](https://docs.aws.amazon.com/glue/latest/dg/console-data-catalog-settings.html). 

## Langkah 2. Membuat tabel
<a name="start-data-catalog-table"></a>

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

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

1.  Pilih **Tambahkan tabel**. 

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

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

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

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

1. Salin dan tempel jalur untuk bidang input **jalur Sertakan**:

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

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

1. Anda diminta untuk mendefinisikan skema. Sebuah skema mendefinisikan struktur dan format catatan data. Pilih **Tambahkan kolom**. (Untuk informasi lebih lanjut, lihat [Daftar skema).](https://docs.aws.amazon.com/glue/latest/dg/schema-registry.html#schema-registry-schemas.html)

1.  Tentukan properti kolom: 

   1. Masukkan nama kolom. 

   1. Untuk **tipe Kolom**, 'string' sudah dipilih secara default.

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

   1. Pilih **Tambahkan**.

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

1.  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](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html). 

## Langkah selanjutnya
<a name="start-data-catalog-next-steps"></a>

 **Langkah selanjutnya** 

 Sekarang setelah Katalog Data diisi, Anda dapat mulai menulis pekerjaan di. AWS Glue Lihat [Membangun pekerjaan ETL visual dengan AWS Glue Studio](https://docs.aws.amazon.com/glue/latest/dg/author-job-glue.html). 

 Selain menggunakan konsol, ada cara lain untuk menentukan tabel di Katalog Data termasuk:
+  [Membuat dan menjalankan crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) 
+  [Menambahkan pengklasifikasi ke crawler di AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/add-classifier.html) 
+  [Menggunakan API AWS Glue Tabel](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html) 
+  [Menggunakan AWS Glue Data Catalog template](https://docs.aws.amazon.com/glue/latest/dg/populate-with-cloudformation-templates.html) 
+  [Migrasi metastore Apache Hive](https://github.com/aws-samples/aws-glue-samples/tree/master/utilities/Hive_metastore_migration) 
+  [Menggunakan AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/glue/create-table.html), Boto3, atau bahasa definisi data (DDL)   
****  
 Berikut ini adalah contoh bagaimana Anda dapat menggunakan CLI, Boto3, atau DDL untuk menentukan tabel berdasarkan file flights\$1data.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'.   

  ```
  {
          "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"
          }
      }
  ```

  ```
  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'
      }
      }
  )
  ```

  ```
  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')
  ```