

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

# Menghubungkan ke alur kerja Apache Oozie dengan AWS Schema Conversion Tool
<a name="CHAP_Source.Oozie"></a>

Anda dapat menggunakan antarmuka baris AWS SCT perintah (CLI) untuk mengonversi alur kerja Apache Oozie menjadi. AWS Step Functions Setelah memigrasikan beban kerja Apache Hadoop Anda ke Amazon EMR, Anda dapat menggunakan layanan asli untuk mengatur pekerjaan Anda. AWS Cloud Untuk informasi selengkapnya, lihat [Menghubungkan ke Apache Hadoop](CHAP_Source.Hadoop.md).

AWS SCT mengonversi alur kerja Oozie Anda menjadi AWS Step Functions dan menggunakan AWS Lambda untuk meniru fitur yang tidak mendukung. AWS Step Functions Juga, AWS SCT ubah properti pekerjaan Oozie Anda menjadi. AWS Systems Manager

Untuk mengonversi alur kerja Apache Oozie, pastikan Anda menggunakan AWS SCT versi 1.0.671 atau yang lebih tinggi. Juga, biasakan diri Anda dengan antarmuka baris perintah AWS SCT. Untuk informasi selengkapnya, lihat [Referensi CLI untuk AWS Schema Conversion Tool](CHAP_Reference.md).

## Prasyarat untuk menggunakan Apache Oozie sebagai sumber
<a name="CHAP_Source.Oozie.Prerequisites"></a>

Prasyarat berikut diperlukan untuk terhubung ke Apache Oozie dengan CLI. AWS SCT 
+ Buat bucket Amazon S3 untuk menyimpan definisi mesin status. Anda dapat menggunakan definisi ini untuk mengonfigurasi mesin status Anda. Lihat informasi yang lebih lengkap di [Membuat bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dalam *Panduan Pengguna Amazon S3*.
+ Buat peran AWS Identity and Access Management (IAM) dengan `AmazonS3FullAccess` kebijakan. AWS SCT menggunakan peran IAM ini untuk mengakses bucket Amazon S3 Anda.
+ Catat kunci AWS rahasia dan kunci akses AWS rahasia Anda. Untuk informasi selengkapnya tentang kunci AWS akses, lihat [Mengelola kunci akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) di *Panduan Pengguna IAM*.
+ Simpan AWS kredensil Anda dan informasi tentang bucket Amazon S3 Anda di profil layanan AWS di pengaturan aplikasi global. Kemudian, AWS SCT gunakan profil AWS layanan ini untuk bekerja dengan AWS sumber daya Anda. Untuk informasi selengkapnya, lihat [Mengelola Profil di AWS Schema Conversion Tool](CHAP_UserInterface.Profiles.md).

Untuk bekerja dengan alur kerja Apache Oozie sumber Anda, AWS SCT memerlukan struktur spesifik dari file sumber Anda. Setiap folder aplikasi Anda harus menyertakan `job.properties` file. File ini mencakup pasangan nilai kunci dari properti pekerjaan Anda. Selain itu, setiap folder aplikasi Anda harus menyertakan `workflow.xml` file. File ini menjelaskan node tindakan dan node alur kontrol alur kerja Anda.

## Menghubungkan ke Apache Oozie sebagai sumber
<a name="CHAP_Source.Oozie.Connecting"></a>

Gunakan prosedur berikut untuk terhubung ke file sumber Apache Oozie Anda.

**Untuk terhubung ke Apache Oozie di CLI AWS SCT**

1. Buat skrip AWS SCT CLI baru atau edit template skenario yang ada. Misalnya, Anda dapat mengunduh dan mengedit `OozieConversionTemplate.scts` template. Untuk informasi selengkapnya, lihat [Mendapatkan skenario CLI](CHAP_Reference.md#CHAP_Reference.Scenario).

1. Konfigurasikan pengaturan AWS SCT aplikasi.

   Contoh kode berikut menyimpan pengaturan aplikasi dan memungkinkan untuk menyimpan kata sandi dalam proyek Anda. Anda dapat menggunakan pengaturan yang disimpan ini di proyek lain.

   ```
   SetGlobalSettings
       -save: 'true'
       -settings: '{
           "store_password": "true"
       }'
   /
   ```

1. Buat AWS SCT proyek baru.

   Contoh kode berikut membuat `oozie` proyek dalam `c:\sct` folder.

   ```
   CreateProject
       -name: 'oozie'
       -directory: 'c:\sct'
   /
   ```

1. Tambahkan folder dengan file Apache Oozie sumber Anda ke proyek menggunakan perintah. `AddSource` Pastikan Anda menggunakan `APACHE_OOZIE` nilai untuk `vendor` parameter. Juga, berikan nilai untuk parameter yang diperlukan berikut: `name` dan`mappingsFolder`.

   Contoh kode berikut menambahkan Apache Oozie sebagai sumber dalam proyek Anda. AWS SCT Contoh ini membuat objek sumber dengan nama`OOZIE`. Gunakan nama objek ini untuk menambahkan aturan pemetaan. Setelah Anda menjalankan contoh kode ini, AWS SCT gunakan `c:\oozie` folder untuk memuat file sumber Anda dalam proyek.

   ```
   AddSource
       -name: 'OOZIE'
       -vendor: 'APACHE_OOZIE'
       -mappingsFolder: 'c:\oozie'
   /
   ```

   Anda dapat menggunakan contoh ini dan contoh berikut di Windows.

1. Connect ke file Apache Oozie sumber Anda menggunakan perintah. `ConnectSource` Gunakan nama objek sumber yang Anda tentukan pada langkah sebelumnya.

   ```
   ConnectSource
       -name: 'OOZIE'
       -mappingsFolder: 'c:\oozie'
   /
   ```

1. Simpan skrip CLI Anda. Selanjutnya, tambahkan informasi koneksi untuk AWS Step Functions layanan Anda.

## Izin untuk menggunakan AWS Lambda fungsi dalam paket ekstensi
<a name="CHAP_Source.Oozie.TargetPrerequisites"></a>

Untuk fungsi sumber yang AWS Step Functions tidak mendukung, AWS SCT buat paket ekstensi. Paket ekstensi ini mencakup AWS Lambda fungsi, yang meniru fungsi sumber Anda.

Untuk menggunakan paket ekstensi ini, buat peran AWS Identity and Access Management (IAM) dengan izin berikut.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "lambda",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:*:498160209112:function:LoadParameterInitialState:*",
                "arn:aws:lambda:*:498160209112:function:EvaluateJSPELExpressions:*"
            ]
        },
        {
            "Sid": "emr",
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:DescribeStep",
                "elasticmapreduce:AddJobFlowSteps"
            ],
            "Resource": [
                "arn:aws:elasticmapreduce:*:498160209112:cluster/*"
            ]
        },
        {
            "Sid": "s3",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::*/*"
            ]
        }
    ]
}
```

------

Untuk menerapkan paket ekstensi, AWS SCT memerlukan peran IAM dengan izin berikut.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:ListRolePolicies",
                "iam:CreateRole",
                "iam:TagRole",
                "iam:PutRolePolicy",
                "iam:DeleteRolePolicy",
                "iam:DeleteRole",
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::{{111122223333}}:role/sct/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:ListRolePolicies"
            ],
            "Resource": [
                "arn:aws:iam::{{111122223333}}:role/lambda_LoadParameterInitialStateRole",
                "arn:aws:iam::{{111122223333}}:role/lambda_EvaluateJSPELExpressionsRole",
                "arn:aws:iam::{{111122223333}}:role/stepFunctions_MigratedOozieWorkflowRole"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction",
                "lambda:CreateFunction",
                "lambda:UpdateFunctionCode",
                "lambda:DeleteFunction"
            ],
            "Resource": [
                "arn:aws:lambda:*:{{111122223333}}:function:LoadParameterInitialState",
                "arn:aws:lambda:*:{{111122223333}}:function:EvaluateJSPELExpressions"
            ]
        }
    ]
}
```

------

## Menghubungkan AWS Step Functions sebagai target
<a name="CHAP_Source.Oozie.Target"></a>

Gunakan prosedur berikut untuk terhubung AWS Step Functions sebagai target.

**Untuk terhubung ke AWS Step Functions dalam AWS SCT CLI**

1. Buka skrip CLI Anda yang mencakup informasi koneksi untuk file sumber Apache Oozie Anda.

1. Tambahkan informasi tentang target migrasi Anda dalam AWS SCT proyek menggunakan `AddTarget` perintah. Pastikan Anda menggunakan `STEP_FUNCTIONS` nilai untuk `vendor` parameter. Juga, berikan nilai untuk parameter yang diperlukan berikut: `name` dan`profile`.

   Contoh kode berikut ditambahkan AWS Step Functions sebagai sumber dalam AWS SCT proyek Anda. Contoh ini menciptakan objek target dengan nama`AWS_STEP_FUNCTIONS`. Gunakan nama objek ini saat Anda membuat aturan pemetaan. Juga, contoh ini menggunakan profil AWS SCT layanan yang Anda buat di langkah prasyarat. Pastikan Anda mengganti {{profile\_name}} dengan nama profil Anda.

   ```
   AddTarget
       -name: 'AWS_STEP_FUNCTIONS'
       -vendor: 'STEP_FUNCTIONS'
       -profile: '{{profile_name}}'
   /
   ```

   Jika Anda tidak menggunakan profil AWS layanan, pastikan Anda memberikan nilai untuk parameter yang diperlukan berikut:`accessKey`,`secretKey`,`awsRegion`, dan`s3Path`. Gunakan parameter ini untuk menentukan kunci akses AWS rahasia, kunci AWS rahasia AWS Region, dan jalur ke bucket Amazon S3 Anda.

1. Connect untuk AWS Step Functions menggunakan `ConnectTarget` perintah. Gunakan nama objek target Anda yang Anda tentukan pada langkah sebelumnya.

   Contoh kode berikut terhubung ke objek `AWS_STEP_FUNCTIONS` target menggunakan profil AWS layanan Anda. Pastikan Anda mengganti {{profile\_name}} dengan nama profil Anda.

   ```
   ConnectTarget
       -name: 'AWS_STEP_FUNCTIONS'
       -profile: '{{profile_name}}'
   /
   ```

1. Simpan skrip CLI Anda. Selanjutnya, tambahkan aturan pemetaan dan perintah migrasi. Untuk informasi selengkapnya, lihat [Mengonversi alur kerja Oozie;](big-data-oozie.md).