

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

# Mengonversi workflowas Oozie menjadi dengan AWS Step Functions AWS Schema Conversion Tool
<a name="big-data-oozie"></a>

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 (CLI) dari. AWS SCT Untuk informasi selengkapnya, lihat [Referensi CLI untuk AWS Schema Conversion Tool](CHAP_Reference.md).

**Topics**
+ [Ikhtisar konversi](#big-data-oozie-overview)
+ [Langkah 1: Connect ke layanan sumber dan target](#big-data-oozie-connect-to-databases)
+ [Langkah 2: Siapkan aturan pemetaan](#big-data-oozie-mapping-rules)
+ [Langkah 3: Konfigurasikan parameter](#big-data-oozie-configure-parameters)
+ [Langkah 4: Buat laporan penilaian](#big-data-oozie-assessment-report)
+ [Langkah 5: Konversikan alur kerja Apache Oozie Anda ke dengan AWS Step Functions AWS SCT](#big-data-oozie-migrate)
+ [Menjalankan skrip CLI Anda](#big-data-oozie-run-migration)
+ [Apache Oozie node yang AWS SCT dapat dikonversi ke AWS Step Functions](#big-data-oozie-supported-nodes)

## Ikhtisar konversi
<a name="big-data-oozie-overview"></a>

Kode sumber Apache Oozie Anda mencakup node tindakan, node aliran kontrol, dan properti pekerjaan. Action node menentukan pekerjaan, yang Anda jalankan dalam alur kerja Apache Oozie Anda. Ketika Anda menggunakan Apache Oozie untuk mengatur cluster Apache Hadoop Anda, maka node tindakan menyertakan pekerjaan Hadoop. Node aliran kontrol menyediakan mekanisme untuk mengontrol jalur alur kerja. Node aliran kontrol termasuk node seperti`start`,`end`,`decision`,`fork`, dan`join`.

AWS SCT mengonversi node aksi sumber Anda dan mengontrol node aliran menjadi AWS Step Functions. Di AWS Step Functions, Anda menentukan alur kerja Anda di Amazon States Language (ASL). AWS SCT menggunakan ASL untuk mendefinisikan mesin status Anda, yang merupakan kumpulan status, yang dapat berfungsi, menentukan status mana yang akan dialihkan ke berikutnya, berhenti dengan kesalahan, dan sebagainya. Selanjutnya, AWS SCT unggah file JSON dengan definisi mesin status. Kemudian, AWS SCT dapat menggunakan peran AWS Identity and Access Management (IAM) Anda untuk mengonfigurasi mesin status Anda. AWS Step Functions Untuk informasi lebih lanjut, lihat [Apa itu AWS Step Functions?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) di *Panduan AWS Step Functions Pengembang*.

Juga, AWS SCT buat paket ekstensi dengan AWS Lambda fungsi yang meniru fungsi sumber yang AWS Step Functions tidak mendukung. Untuk informasi selengkapnya, lihat [Menggunakan paket ekstensi dengan AWS Schema Conversion Tool](CHAP_ExtensionPack.md).

AWS SCT memigrasikan properti pekerjaan sumber Anda ke AWS Systems Manager. Untuk menyimpan nama dan nilai parameter, AWS SCT gunakan Parameter Store, kemampuan AWS Systems Manager. Untuk informasi lebih lanjut, lihat [Apa itu AWS Systems Manager?](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) dalam *AWS Systems Manager User Guide*.

Anda dapat menggunakan AWS SCT untuk memperbarui nilai dan nama parameter Anda secara otomatis. Karena perbedaan arsitektur antara Apache Oozie dan AWS Step Functions, Anda mungkin perlu mengkonfigurasi parameter Anda. AWS SCT dapat menemukan nama parameter tertentu atau nilai dalam file sumber Anda dan menggantinya dengan nilai-nilai baru. Untuk informasi selengkapnya, lihat [Langkah 3: Konfigurasikan parameter](#big-data-oozie-configure-parameters).

Gambar berikut menunjukkan diagram arsitektur konversi Apache Oozie ke. AWS Step Functions

![Diagram arsitektur konversi Apache Oozie ke. AWS Step Functions](http://docs.aws.amazon.com/id_id/SchemaConversionTool/latest/userguide/images/aws-sct-oozie-conversion-architecture-diagram.png)


Untuk memulai konversi, buat dan jalankan skrip AWS SCT CLI Anda. Skrip ini mencakup set lengkap perintah untuk menjalankan konversi. Anda dapat mengunduh dan mengedit templat skrip konversi Apache Oozie. Untuk informasi selengkapnya, lihat [Mendapatkan skenario CLI](CHAP_Reference.md#CHAP_Reference.Scenario).

Pastikan skrip Anda menyertakan langkah-langkah berikut.

## Langkah 1: Connect ke layanan sumber dan target
<a name="big-data-oozie-connect-to-databases"></a>

Untuk memulai konversi cluster Apache Oozie Anda, buat proyek baru. AWS SCT Selanjutnya, sambungkan ke layanan sumber dan target Anda. Pastikan Anda membuat dan menyediakan AWS sumber daya target sebelum memulai migrasi. Untuk informasi selengkapnya, lihat [Prasyarat untuk menggunakan Apache Oozie sebagai sumber](CHAP_Source.Oozie.md#CHAP_Source.Oozie.Prerequisites).

Pada langkah ini, Anda menggunakan perintah AWS SCT CLI berikut.
+ `CreateProject`— untuk membuat AWS SCT proyek baru.
+ `AddSource`— untuk menambahkan file Apache Oozie sumber Anda dalam proyek Anda. AWS SCT 
+ `ConnectSource`— untuk terhubung ke Apache Oozie sebagai sumber.
+ `AddTarget`— untuk menambahkan AWS Step Functions sebagai target migrasi dalam proyek Anda.
+ `ConnectTarget`— untuk terhubung ke AWS Step Functions.

Untuk contoh menggunakan perintah AWS SCT CLI ini, lihat. [Menghubungkan ke Apache Oozie](CHAP_Source.Oozie.md)

Ketika Anda menjalankan `ConnectTarget` perintah `ConnectSource` atau, AWS SCT mencoba untuk membuat koneksi ke layanan Anda. Jika upaya koneksi gagal, maka AWS SCT berhenti menjalankan perintah dari skrip CLI Anda dan menampilkan pesan kesalahan.

## Langkah 2: Siapkan aturan pemetaan
<a name="big-data-oozie-mapping-rules"></a>

Setelah Anda terhubung ke layanan sumber dan target, atur aturan pemetaan. Aturan pemetaan menentukan target migrasi untuk alur kerja dan parameter Apache Oozie sumber Anda. Untuk informasi selengkapnya tentang aturan pemetaan, lihat[Memetakan tipe data di AWS Schema Conversion Tool](CHAP_Mapping.md).

Untuk menentukan sumber dan objek target untuk konversi, gunakan `AddServerMapping` perintah. Perintah ini menggunakan dua parameter: `sourceTreePath` dan`targetTreePath`. Nilai parameter ini mencakup jalur eksplisit ke objek sumber dan target Anda. Untuk Apache Oozie ke AWS Step Functions konversi, parameter ini harus dimulai dengan. `ETL`

Contoh kode berikut membuat aturan pemetaan untuk `OOZIE` dan `AWS_STEP_FUNCTIONS` objek. Anda menambahkan objek ini ke AWS SCT proyek Anda menggunakan `AddSource` dan `AddTarget` perintah di langkah sebelumnya.

```
AddServerMapping
    -sourceTreePath: 'ETL.APACHE_OOZIE'
    -targetTreePath: 'ETL.AWS_STEP_FUNCTIONS'
/
```

Untuk informasi selengkapnya tentang `AddServerMapping` perintah, lihat [AWS Schema Conversion Tool Referensi CLI](https://s3.amazonaws.com/publicsctdownload/AWS+SCT+CLI+Reference.pdf).

## Langkah 3: Konfigurasikan parameter
<a name="big-data-oozie-configure-parameters"></a>

Jika alur kerja Apache Oozie sumber Anda menggunakan parameter, Anda mungkin perlu mengubah nilainya setelah konversi ke. AWS Step Functions Selain itu, Anda mungkin perlu menambahkan parameter baru untuk digunakan dengan parameter Anda AWS Step Functions.

Pada langkah ini, Anda menggunakan `AddTargetParameter` perintah `AddParameterMapping` dan.

Untuk mengganti nilai parameter dalam file sumber Anda, gunakan `AddParameterMapping` perintah. AWS SCT memindai file sumber Anda, menemukan parameter berdasarkan nama atau nilai, dan mengubah nilainya. Anda dapat menjalankan satu perintah untuk memindai semua file sumber Anda. Anda menentukan ruang lingkup file yang akan dipindai menggunakan salah satu dari tiga parameter pertama dari daftar berikut. Perintah ini menggunakan hingga enam parameter.
+ `filterName`— nama filter untuk objek sumber Anda. Anda dapat membuat filter menggunakan `CreateFilter` perintah.
+ `treePath`— jalur eksplisit ke objek sumber Anda.
+ `namePath`— jalur eksplisit ke objek sumber tertentu.
+ `sourceParameterName`— nama parameter sumber Anda.
+ `sourceValue`— nilai parameter sumber Anda.
+ `targetValue`— nilai parameter target Anda.

Contoh kode berikut menggantikan semua parameter di mana nilai sama `c:\oozie\hive.py` dengan `s3://bucket-oozie/hive.py` nilai.

```
AddParameterMapping
	-treePath: 'ETL.OOZIE.Applications'
	-sourceValue: 'c:\oozie\hive.py'
	-targetValue: 's3://bucket-oozie/hive.py'
/
```

Contoh kode berikut menggantikan semua parameter di mana nama sama `nameNode` dengan `hdfs://ip-111-222-33-44.eu-west-1.compute.internal:8020` nilai.

```
AddParameterMapping
    -treePath: 'ETL.OOZIE_SOURCE.Applications'
    -sourceParameter: 'nameNode'
    -targetValue: 'hdfs://ip-111-222-33-44.eu-west-1.compute.internal:8020'
/
```

Contoh kode berikut menggantikan semua parameter di mana nama sama dengan `nameNode` dan nilainya sama `hdfs://ip-55.eu-west-1.compute.internal:8020` dengan nilai dari `targetValue` parameter.

```
AddParameterMapping
    -treePath: 'ETL.OOZIE_SOURCE.Applications'
    -sourceParameter: 'nameNode'
    -sourceValue: 'hdfs://ip-55-66-77-88.eu-west-1.compute.internal:8020'
    -targetValue: 'hdfs://ip-111-222-33-44.eu-west-1.compute.internal:8020'
/
```

Untuk menambahkan parameter baru dalam file target Anda selain parameter yang ada dari file sumber Anda, gunakan `AddTargetParameter` perintah. Perintah ini menggunakan set parameter yang sama dengan `AddParameterMapping` perintah.

Contoh kode berikut menambahkan parameter `clusterId` target bukan `nameNode` parameter.

```
AddTargetParameter
    -treePath: 'ETL.OOZIE_SOURCE.Applications'
    -sourceParameter: 'nameNode'
    -sourceValue: 'hdfs://ip-55-66-77-88.eu-west-1.compute.internal:8020'
    -targetParameter: 'clusterId'
    -targetValue: '1234567890abcdef0'
/
```

Untuk informasi selengkapnya tentang`AddServerMapping`,`AddParameterMapping`,`AddTargetParameter`, dan `CreateFilter` perintah, lihat Referensi [AWS Schema Conversion Tool CLI](https://s3.amazonaws.com/publicsctdownload/AWS+SCT+CLI+Reference.pdf).

## Langkah 4: Buat laporan penilaian
<a name="big-data-oozie-assessment-report"></a>

Sebelum Anda memulai konversi, kami sarankan untuk membuat laporan penilaian. Laporan ini merangkum semua tugas migrasi dan merinci item tindakan yang akan muncul selama migrasi. Untuk memastikan migrasi Anda tidak gagal, lihat laporan ini dan alamat item tindakan sebelum migrasi. Untuk informasi selengkapnya, lihat [Laporan penilaian](CHAP_AssessmentReport.md).

Pada langkah ini, Anda menggunakan `CreateReport` perintah. Perintah ini menggunakan dua parameter. Parameter pertama menjelaskan objek sumber yang AWS SCT membuat laporan penilaian. Untuk melakukannya, gunakan salah satu parameter berikut:`filterName`,`treePath`, atau`namePath`. Parameter ini wajib. Juga, Anda dapat menambahkan parameter `forceLoad` Boolean opsional. Jika Anda mengatur parameter ini`true`, maka AWS SCT secara otomatis memuat semua objek anak untuk objek sumber yang Anda tentukan dalam `CreateReport` perintah.

Contoh kode berikut membuat laporan penilaian untuk `Applications` node file Oozie sumber Anda.

```
CreateReport
    -treePath: 'ETL.APACHE_OOZIE.Applications'
/
```

Anda kemudian dapat menyimpan salinan laporan penilaian sebagai file PDF atau nilai dipisahkan koma (CSV). Untuk melakukannya, gunakan `SaveReportCSV` perintah `SaveReportPDF` or.

`SaveReportPDF`Perintah menyimpan salinan laporan penilaian Anda sebagai file PDF. Perintah ini menggunakan empat parameter. `file`Parameternya wajib, parameter lainnya bersifat opsional.
+ `file`— jalur ke file PDF dan namanya.
+ `filter`— nama filter yang Anda buat sebelumnya untuk menentukan ruang lingkup objek sumber Anda untuk bermigrasi.
+ `treePath`— jalur eksplisit ke objek database sumber Anda yang Anda simpan salinan laporan penilaian.
+ `namePath`— jalur yang hanya mencakup nama objek target Anda yang Anda simpan salinan laporan penilaian.

`SaveReportCSV`Perintah menyimpan laporan penilaian Anda dalam file CSV. Perintah ini menggunakan empat parameter. `directory`Parameternya wajib, parameter lainnya bersifat opsional.
+ `directory`— jalur ke folder tempat AWS SCT menyimpan file CSV.
+ `filter`— nama filter yang Anda buat sebelumnya untuk menentukan ruang lingkup objek sumber Anda untuk bermigrasi.
+ `treePath`— jalur eksplisit ke objek database sumber Anda yang Anda simpan salinan laporan penilaian.
+ `namePath`— jalur yang hanya mencakup nama objek target Anda yang Anda simpan salinan laporan penilaian.

Contoh kode berikut menyimpan salinan laporan penilaian dalam `c:\sct\ar.pdf` file.

```
SaveReportPDF
	-file:'c:\sct\ar.pdf'
/
```

Contoh kode berikut menyimpan salinan laporan penilaian sebagai file CSV di `c:\sct` folder.

```
SaveReportCSV
	-file:'c:\sct'
/
```

Untuk informasi selengkapnya tentang`CreateReport`, `SaveReportPDF` dan `SaveReportCSV` perintah, lihat [AWS Schema Conversion Tool Referensi CLI](https://s3.amazonaws.com/publicsctdownload/AWS+SCT+CLI+Reference.pdf).

## Langkah 5: Konversikan alur kerja Apache Oozie Anda ke dengan AWS Step Functions AWS SCT
<a name="big-data-oozie-migrate"></a>

Setelah Anda mengonfigurasi AWS SCT proyek Anda, konversikan kode sumber Anda dan terapkan ke file AWS Cloud.

Pada langkah ini, Anda menggunakan`Convert`, `SaveOnS3``ConfigureStateMachine`, dan `ApplyToTarget` perintah.

`Migrate`Perintah memigrasikan objek sumber Anda ke cluster target. Perintah ini menggunakan empat parameter. Pastikan Anda menentukan `treePath` parameter `filter` atau. Parameter lainnya adalah opsional.
+ `filter`— nama filter yang Anda buat sebelumnya untuk menentukan ruang lingkup objek sumber Anda untuk bermigrasi.
+ `namePath`— jalur eksplisit ke objek sumber tertentu.
+ `treePath`— jalur eksplisit ke objek database sumber Anda yang Anda simpan salinan laporan penilaian.
+ `forceLoad`— ketika diatur ke`true`, AWS SCT secara otomatis memuat pohon metadata database selama migrasi. Nilai default-nya adalah `false`.

Contoh kode berikut mengonversi file dari `Applications` folder di file Oozie sumber Anda.

```
Convert
    -treePath: 'ETL.APACHE_OOZIE.Applications'
/
```

`SaveOnS3`Mengunggah definisi mesin status ke bucket Amazon S3 Anda. Perintah ini menggunakan `treePath` parameter. Untuk menjalankan perintah ini, gunakan folder target dengan definisi mesin status sebagai nilai parameter ini.

Berikut ini mengunggah `State machine definitions` folder objek `AWS_STEP_FUNCTIONS` target Anda ke bucket Amazon S3. AWS SCT menggunakan bucket Amazon S3 yang Anda simpan di profil AWS layanan di langkah tersebut. [Prasyarat](CHAP_Source.Oozie.md#CHAP_Source.Oozie.Prerequisites)

```
SaveOnS3
    -treePath: 'ETL.AWS_STEP_FUNCTIONS.State machine definitions'
/
```

`ConfigureStateMachine`Perintah mengkonfigurasi mesin negara. Perintah ini menggunakan hingga enam parameter. Pastikan Anda menentukan cakupan target menggunakan salah satu dari tiga parameter pertama dari daftar berikut.
+ `filterName`— nama filter untuk objek target Anda. Anda dapat membuat filter menggunakan `CreateFilter` perintah.
+ `treePath`— jalur eksplisit ke objek target Anda.
+ `namePath`— jalur eksplisit ke objek target tertentu.
+ `iamRole`— Nama Sumber Daya Amazon (ARN) dari peran IAM yang menyediakan akses ke mesin langkah Anda. Parameter ini diperlukan.

Contoh kode berikut mengkonfigurasi mesin status yang didefinisikan dalam `AWS_STEP_FUNCTIONS` menggunakan peran {{role\_name}} IAM.

```
ConfigureStateMachine
    -treePath: 'ETL.AWS_STEP_FUNCTIONS.State machine definitions'
    -role: 'arn:aws:iam::555555555555:role/{{role_name}}'
/
```

`ApplyToTarget`Perintah tersebut menerapkan kode konversi Anda ke server target. Untuk menjalankan perintah ini, gunakan salah satu parameter berikut:`filterName`,`treePath`, atau `namePath` untuk menentukan objek target untuk diterapkan.

Contoh kode berikut menerapkan mesin `app_wp` status ke AWS Step Functions.

```
ApplyToTarget
    -treePath: 'ETL.AWS_STEP_FUNCTIONS.State machines.app_wp'
/
```

Untuk memastikan bahwa kode yang dikonversi menghasilkan hasil yang sama dengan kode sumber Anda, Anda dapat menggunakan paket AWS SCT ekstensi. Ini adalah seperangkat AWS Lambda fungsi yang meniru fungsi Apache Oozie Anda yang AWS Step Functions tidak mendukung. Untuk menginstal paket ekstensi ini, Anda dapat menggunakan `CreateLambdaExtPack` perintah.

Perintah ini menggunakan hingga lima parameter. Pastikan Anda menggunakannya **Oozie2SF** untuk`extPackId`. Dalam hal ini, AWS SCT membuat paket ekstensi untuk sumber fungsi Apache Oozie.
+ `extPackId`— pengenal unik untuk satu set fungsi Lambda. Parameter ini diperlukan.
+ `tempDirectory`— jalur di mana AWS SCT dapat menyimpan file sementara. Parameter ini diperlukan.
+ `awsProfile`— nama AWS profil Anda.
+ `lambdaExecRoles`— daftar Nama Sumber Daya Amazon (ARNs) dari peran eksekusi yang akan digunakan untuk fungsi Lambda.
+ `createInvokeRoleFlag`— bendera Boolean yang menunjukkan apakah akan membuat peran eksekusi untuk AWS Step Functions.

Untuk menginstal dan menggunakan paket ekstensi, pastikan Anda memberikan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Izin untuk menggunakan AWS Lambda fungsi dalam paket ekstensi](CHAP_Source.Oozie.md#CHAP_Source.Oozie.TargetPrerequisites).

Untuk informasi selengkapnya tentang`Convert`,`SaveOnS3`,`ConfigureStateMachine`,`ApplyToTarget`, dan `CreateLambdaExtPack` perintah, lihat Referensi [AWS Schema Conversion Tool CLI](https://s3.amazonaws.com/publicsctdownload/AWS+SCT+CLI+Reference.pdf).

## Menjalankan skrip CLI Anda
<a name="big-data-oozie-run-migration"></a>

Setelah Anda selesai mengedit skrip AWS SCT CLI Anda, simpan sebagai file dengan ekstensi. `.scts` Sekarang, Anda dapat menjalankan skrip Anda dari `app` folder jalur AWS SCT instalasi Anda. Untuk melakukannya, gunakan perintah berikut.

```
RunSCTBatch.cmd --pathtoscts "C:\{{script_path}}\oozie.scts"
```

Pada contoh sebelumnya, ganti {{script\_path}} dengan path ke file Anda dengan skrip CLI. Untuk informasi selengkapnya tentang menjalankan skrip CLI di AWS SCT, lihat. [Mode skrip](CHAP_Reference.md#CHAP_Reference.ScriptMode)

## Apache Oozie node yang AWS SCT dapat dikonversi ke AWS Step Functions
<a name="big-data-oozie-supported-nodes"></a>

Anda dapat menggunakan AWS SCT untuk mengonversi node aksi Apache Oozie dan mengontrol node aliran ke. AWS Step Functions

Node tindakan yang didukung meliputi yang berikut:
+ Tindakan sarang
+ Aksi Hive2
+ Aksi percikan
+ MapReduce Aksi streaming
+ Tindakan Java
+ DistCp aksi
+ Aksi babi
+ Tindakan Sqoop
+ Tindakan FS
+ Tindakan Shell

Node aliran kontrol yang didukung meliputi:
+ Mulai tindakan
+ Akhiri tindakan
+ Bunuh aksi
+ Tindakan keputusan
+ Tindakan garpu
+ Bergabunglah dengan aksi