

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

# Membuat skema dan dataset
<a name="data-prep-creating-datasets"></a>

Setelah [membuat grup kumpulan data](data-prep-ds-group.md), Anda siap membuat skema Amazon Personalize dan kumpulan data untuk setiap jenis data yang Anda impor. *Skema* memberi tahu Amazon Personalize tentang struktur data Anda dan memungkinkan Amazon Personalize untuk mengurai data. Saat membuat skema di Amazon Personalize, Anda menggunakan file JSON yang Anda buat. [Membuat file JSON skema untuk skema Amazon Personalize](how-it-works-dataset-schema.md) 

 *Dataset* adalah wadah untuk melatih data di Amazon Personalize. Jenis dataset yang berbeda memiliki persyaratan yang berbeda. Anda membuat kumpulan data untuk setiap jenis data yang Anda impor. Untuk informasi tentang berbagai jenis kumpulan data dan cara menyiapkan data Anda, lihat. [Mempersiapkan data pelatihan untuk Amazon Personalize](preparing-training-data.md)

Anda dapat membuat skema dan kumpulan data dengan konsol Amazon Personalize, (), AWS Command Line Interface atau.AWS CLI AWS SDKs Anda tidak dapat membuat sumber daya tindakan terbaik berikutnya, termasuk kumpulan data Tindakan dan Interaksi Tindakan, dalam grup kumpulan data domain. 

**penting**  
 Setelah Anda membuat skema, Anda tidak dapat membuat perubahan pada skema. Namun, jika Anda menambahkan kolom baru, Anda dapat mengganti skema kumpulan data dengan yang baru. Untuk informasi selengkapnya, lihat [Mengganti skema dataset untuk menambahkan kolom baru](updating-dataset-schema.md).

**Topics**
+ [Membuat kumpulan data dan skema (konsol)](#data-prep-creating-ds-console)
+ [Membuat dataset dan skema ()AWS CLI](#data-prep-creating-ds-cli)
+ [Membuat dataset dan skema ()AWS SDKs](#data-prep-creating-ds-sdk)

## Membuat kumpulan data dan skema (konsol)
<a name="data-prep-creating-ds-console"></a>

 Jika ini adalah kumpulan data pertama Anda di grup kumpulan data Anda, jenis kumpulan data pertama Anda akan menjadi kumpulan data interaksi Item. [Untuk membuat kumpulan data interaksi Item di konsol, tentukan nama kumpulan data lalu tentukan skema JSON dalam format Avro.](https://docs.oracle.com/database/nosql-12.1.3.0/GettingStartedGuide/avroschemas.html) Jika ini bukan kumpulan data pertama Anda dalam grup kumpulan data ini, pilih jenis kumpulan data lalu tentukan nama dan skema. 

Untuk informasi tentang persyaratan Amazon Personalisasi kumpulan data, lihat. [Mempersiapkan data pelatihan untuk Amazon Personalize](preparing-training-data.md) Jika Anda baru saja selesai [Membuat grup kumpulan data Amazon Personalize](data-prep-ds-group.md) dan Anda sudah membuat dataset Anda, lewati ke langkah 4 dalam prosedur ini. 

**Untuk membuat dataset dan skema**

1. Jika Anda belum melakukannya, ikuti petunjuk [Membuat file JSON skema untuk skema Amazon Personalize](how-it-works-dataset-schema.md) untuk membuat file JSON skema yang menguraikan data Anda.

1. Buka konsol Amazon Personalize di [https://console.aws.amazon.com/personalize/rumah](https://console.aws.amazon.com/personalize/home) dan masuk ke akun Anda.

1.  Pada halaman **grup Dataset**, pilih grup kumpulan data yang Anda buat. [Membuat grup kumpulan data Amazon Personalize](data-prep-ds-group.md) 

1. Pada **Langkah 1. Buat kumpulan data dan impor data** pilih **Buat kumpulan data dan pilih jenis kumpulan data** yang akan dibuat.

1. **Pilih **Impor data langsung ke Amazon Personalize dataset** dan pilih Berikutnya.**

1. Di **detail Dataset**, untuk **nama Dataset**, tentukan nama untuk kumpulan data Anda.

1. Untuk **skema Dataset**, pilih **Buat skema baru atau Gunakan skema** **yang** ada.

1. Jika Anda menggunakan skema yang ada, pilih skema yang ada untuk digunakan. Jika Anda membuat skema baru, beri nama skema dan tempel di skema JSON yang cocok dengan data Anda. Anda membuat file ini di[Membuat file JSON skema untuk skema Amazon Personalize](how-it-works-dataset-schema.md).

1. Untuk **Tag**, secara opsional tambahkan tag apa pun. Untuk informasi selengkapnya tentang menandai sumber daya Amazon Personalize, lihat. [Menandai Amazon Personalisasi sumber daya](tagging-resources.md)

1. Pilih **Berikutnya** dan ikuti petunjuk [Mengimpor data pelatihan ke Amazon Personalize dataset](import-data.md) untuk mengimpor data Anda.

## Membuat dataset dan skema ()AWS CLI
<a name="data-prep-creating-ds-cli"></a>

Untuk membuat kumpulan data dan skema menggunakan AWS CLI, Anda menggunakan `create-schema` perintah (yang menggunakan operasi [CreateSchema](API_CreateSchema.md) API) dan kemudian `create-dataset` (yang menggunakan operasi [CreateDataset](API_CreateDataset.md) API).

**Untuk membuat skema dan dataset**

1. Jika Anda belum melakukannya, ikuti petunjuk [Membuat file JSON skema untuk skema Amazon Personalize](how-it-works-dataset-schema.md) untuk membuat file JSON skema yang menguraikan data Anda.

1. Buat skema di Amazon Personalize dengan menjalankan perintah berikut. Setelah Anda membuat skema, Anda tidak dapat membuat perubahan pada skema. Ganti `schemaName` dengan nama skema, dan ganti `file://SchemaName.json` dengan lokasi file JSON Anda. Contoh menunjukkan file sebagai milik folder saat ini. Jika Anda membuat skema untuk kumpulan data dalam grup dataset Domain, tambahkan `domain` parameter dan atur ke atau. `ECOMMERCE` `VIDEO_ON_DEMAND` Untuk informasi selengkapnya tentang API, lihat [CreateSchema](API_CreateSchema.md).

   ```
   aws personalize create-schema \
     --name SchemaName \
     --schema file://SchemaName.json
   ```

   Skema Amazon Resource Name (ARN) ditampilkan, seperti yang ditunjukkan pada contoh berikut:

   ```
   {
     "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/SchemaName"
   }
   ```

1. Buat dataset kosong dengan menjalankan perintah berikut. Berikan grup kumpulan data Amazon Resource Name (ARN) [Membuat grup dataset ()AWS CLI](data-prep-ds-group.md#data-prep-creating-ds-group-cli) dari dan skema ARN dari langkah sebelumnya. Nilai tipe dataset dapat berupa`Interactions`,,`Users`, `Items``Actions`, atau`Action_Interactions`. Untuk informasi selengkapnya tentang API, lihat [CreateDataset](API_CreateDataset.md).

   ```
   aws personalize create-dataset \
     --name Dataset Name \
     --dataset-group-arn Dataset Group ARN \
     --dataset-type Dataset Type \
     --schema-arn Schema Arn
   ```

   Dataset ARN ditampilkan, seperti yang ditunjukkan pada contoh berikut.

   ```
   {
     "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetName/INTERACTIONS"
   }
   ```

1. Rekam kumpulan data ARN untuk digunakan nanti. Setelah Anda membuat dataset, Anda siap untuk mengimpor data pelatihan Anda. Lihat [Mengimpor data pelatihan ke Amazon Personalize dataset](import-data.md). 

## Membuat dataset dan skema ()AWS SDKs
<a name="data-prep-creating-ds-sdk"></a>

Untuk membuat kumpulan data dan skema menggunakan skema AWS SDKs, pertama-tama Anda menentukan skema dalam [format Avro](https://docs.oracle.com/database/nosql-12.1.3.0/GettingStartedGuide/avroschemas.html) dan menambahkannya ke Amazon Personalize menggunakan operasi. [CreateSchema](API_CreateSchema.md) Setelah Anda membuat skema, Anda tidak dapat membuat perubahan pada skema. Kemudian buat dataset menggunakan [CreateDataset](API_CreateDataset.md) operasi.

**Untuk membuat skema dan dataset**

1. Jika Anda belum melakukannya, ikuti petunjuk [Membuat file JSON skema untuk skema Amazon Personalize](how-it-works-dataset-schema.md) untuk membuat file JSON skema yang menguraikan data Anda.

1. Buat skema di Amazon Personalize dengan kode berikut. Tentukan nama untuk skema Anda dan jalur file untuk file JSON skema Anda. Jika Anda membuat skema untuk kumpulan data dalam grup dataset Domain, tambahkan `domain` parameter dan atur ke atau. `ECOMMERCE` `VIDEO_ON_DEMAND` Untuk informasi selengkapnya tentang API, lihat [CreateSchema](API_CreateSchema.md).

------
#### [ SDK for Python (Boto3) ]

   ```
   import boto3
   
   personalize = boto3.client('personalize')
   
   with open('schemaFile.json') as f:
       createSchemaResponse = personalize.create_schema(
           name = 'schema name',
           schema = f.read()
       )
   
   schema_arn = createSchemaResponse['schemaArn']
   
   print('Schema ARN:' + schema_arn )
   ```

------
#### [ SDK for Java 2.x ]

   ```
   public static String createSchema(PersonalizeClient personalizeClient, String schemaName, String filePath) {
       
       String schema = null;
       
       try {
           schema = new String(Files.readAllBytes(Paths.get(filePath)));
       } catch (IOException e) {
           System.out.println(e.getMessage());
       }
       
       try {
           CreateSchemaRequest createSchemaRequest = CreateSchemaRequest.builder()
                   .name(schemaName)
                   .schema(schema)
                   .build();
   
           String schemaArn = personalizeClient.createSchema(createSchemaRequest).schemaArn();    
           System.out.println("Schema arn: " + schemaArn);
   
           return schemaArn;
   
       } catch(PersonalizeException e) {
           System.err.println(e.awsErrorDetails().errorMessage());
           System.exit(1);
       }
       return "";
   }
   ```

------
#### [ SDK for JavaScript v3 ]

   ```
   // Get service clients module and commands using ES6 syntax.
   import { CreateSchemaCommand } from "@aws-sdk/client-personalize";
   import { personalizeClient } from "./libs/personalizeClients.js";
   
   // Or, create the client here.
   // const personalizeClient = new PersonalizeClient({ region: "REGION"});
   
   import fs from "node:fs";
   
   const schemaFilePath = "SCHEMA_PATH";
   let mySchema = "";
   
   try {
     mySchema = fs.readFileSync(schemaFilePath).toString();
   } catch (err) {
     mySchema = "TEST"; // For unit tests.
   }
   // Set the schema parameters.
   export const createSchemaParam = {
     name: "NAME" /* required */,
     schema: mySchema /* required */,
   };
   
   export const run = async () => {
     try {
       const response = await personalizeClient.send(
         new CreateSchemaCommand(createSchemaParam),
       );
       console.log("Success", response);
       return response; // For unit tests.
     } catch (err) {
       console.log("Error", err);
     }
   };
   run();
   ```

------

   Amazon Personalize mengembalikan ARN skema baru. Rekam karena Anda akan membutuhkannya di langkah berikutnya.

1. Buat kumpulan data menggunakan [CreateDataset](API_CreateDataset.md) operasi. Kode berikut menunjukkan cara membuat dataset. Tentukan Nama Sumber Daya Amazon (ARN) grup kumpulan data Anda, skema ARN dari langkah sebelumnya, dan tentukan jenis kumpulan data. Nilai tipe dataset dapat berupa`Interactions`,,`Users`, `Items``Actions`, atau`Action_Interactions`. Untuk informasi tentang berbagai jenis kumpulan data, lihat. [Mempersiapkan data pelatihan untuk Amazon Personalize](preparing-training-data.md) 

------
#### [ SDK for Python (Boto3) ]

   ```
   import boto3
   
   personalize = boto3.client('personalize')
   
   response = personalize.create_dataset(
       name = 'dataset_name',
       schemaArn = 'schema_arn',
       datasetGroupArn = 'dataset_group_arn',
       datasetType = 'dataset_type'
   )
   
   print ('Dataset Arn: ' + response['datasetArn'])
   ```

------
#### [ SDK for Java 2.x ]

   ```
   public static String createDataset(PersonalizeClient personalizeClient, 
                                       String datasetName, 
                                       String datasetGroupArn, 
                                       String datasetType, 
                                       String schemaArn) {
       try {
           CreateDatasetRequest request = CreateDatasetRequest.builder()
                   .name(datasetName)
                   .datasetGroupArn(datasetGroupArn)
                   .datasetType(datasetType)
                   .schemaArn(schemaArn).build();
       
           String datasetArn = personalizeClient.createDataset(request).datasetArn();
           System.out.println("Dataset " + datasetName + " created. Dataset ARN: " + datasetArn);
           
           return datasetArn;
           
       } catch(PersonalizeException e) {
           System.err.println(e.awsErrorDetails().errorMessage());
           System.exit(1);
       }
       return "";
   }
   ```

------
#### [ SDK for JavaScript v3 ]

   ```
   // Get service clients module and commands using ES6 syntax.
   import { CreateDatasetCommand } from "@aws-sdk/client-personalize";
   import { personalizeClient } from "./libs/personalizeClients.js";
   
   // Or, create the client here.
   // const personalizeClient = new PersonalizeClient({ region: "REGION"});
   
   // Set the dataset's parameters.
   export const createDatasetParam = {
     datasetGroupArn: "DATASET_GROUP_ARN" /* required */,
     datasetType: "DATASET_TYPE" /* required */,
     name: "NAME" /* required */,
     schemaArn: "SCHEMA_ARN" /* required */,
   };
   
   export const run = async () => {
     try {
       const response = await personalizeClient.send(
         new CreateDatasetCommand(createDatasetParam),
       );
       console.log("Success", response);
       return response; // For unit tests.
     } catch (err) {
       console.log("Error", err);
     }
   };
   run();
   ```

------

   Setelah Anda membuat dataset, Anda siap untuk mengimpor data pelatihan Anda. Lihat [Mengimpor data pelatihan ke Amazon Personalize dataset](import-data.md).