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
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 AmazonEMR, Anda dapat menggunakan layanan asli untuk mengatur pekerjaan Anda. AWS Cloud Untuk informasi selengkapnya, lihat Menghubungkan ke Apache Hadoop.
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 CLIReferensi untuk AWS Schema Conversion Tool.
Prasyarat untuk menggunakan Apache Oozie sebagai sumber
Prasyarat berikut diperlukan untuk terhubung ke Apache Oozie dengan. AWS SCT CLI
-
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 dalam Panduan Pengguna Amazon S3.
-
Buat peran AWS Identity and Access Management (IAM) dengan
AmazonS3FullAccess
kebijakan. AWS SCT menggunakan IAM peran 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 di Panduan IAM Pengguna.
-
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.
Untuk bekerja dengan alur kerja Apache Oozie sumber Anda, AWS SCT memerlukan struktur spesifik 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
Gunakan prosedur berikut untuk terhubung ke file sumber Apache Oozie Anda.
Untuk terhubung ke Apache Oozie di AWS SCT CLI
-
Buat AWS SCT CLI skrip baru atau edit template skenario yang ada. Misalnya, Anda dapat mengunduh dan mengedit
OozieConversionTemplate.scts
template. Untuk informasi selengkapnya, lihat Mendapatkan CLI skenario. -
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" }' /
-
Buat AWS SCT proyek baru.
Contoh kode berikut membuat
oozie
proyek dalamc:\sct
folder.CreateProject -name: 'oozie' -directory: 'c:\sct' /
-
Tambahkan folder dengan file Apache Oozie sumber Anda ke proyek menggunakan perintah.
AddSource
Pastikan Anda menggunakanAPACHE_OOZIE
nilai untukvendor
parameter. Juga, berikan nilai untuk parameter yang diperlukan berikut:name
danmappingsFolder
.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 gunakanc:\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.
-
Connect ke file Apache Oozie sumber Anda menggunakan perintah.
ConnectSource
Gunakan nama objek sumber yang Anda tetapkan pada langkah sebelumnya.ConnectSource -name: 'OOZIE' -mappingsFolder: 'c:\oozie' /
-
Simpan CLI skrip Anda. Selanjutnya, tambahkan informasi koneksi untuk AWS Step Functions layanan Anda.
Izin untuk menggunakan AWS Lambda fungsi dalam paket ekstensi
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.
{ "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 IAM peran dengan izin berikut.
{ "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::ACCOUNT_NUMBER:role/sct/*" ] }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRolePolicies" ], "Resource": [ "arn:aws:iam::ACCOUNT_NUMBER:role/lambda_LoadParameterInitialStateRole", "arn:aws:iam::ACCOUNT_NUMBER:role/lambda_EvaluateJSPELExpressionsRole", "arn:aws:iam::ACCOUNT_NUMBER:role/stepFunctions_MigratedOozieWorkflowRole" ] }, { "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:CreateFunction", "lambda:UpdateFunctionCode", "lambda:DeleteFunction" ], "Resource": [ "arn:aws:lambda:*:ACCOUNT_NUMBER:function:LoadParameterInitialState", "arn:aws:lambda:*:ACCOUNT_NUMBER:function:EvaluateJSPELExpressions" ] } ] }
Menghubungkan AWS Step Functions sebagai target
Gunakan prosedur berikut untuk terhubung AWS Step Functions sebagai target.
Untuk terhubung ke AWS Step Functions dalam AWS SCT CLI
-
Buka CLI skrip Anda yang mencakup informasi koneksi untuk file sumber Apache Oozie Anda.
-
Tambahkan informasi tentang target migrasi Anda dalam AWS SCT proyek menggunakan
AddTarget
perintah. Pastikan Anda menggunakanSTEP_FUNCTIONS
nilai untukvendor
parameter. Juga, berikan nilai untuk parameter yang diperlukan berikut:name
danprofile
.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 menggantiprofile_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
, dans3Path
. Gunakan parameter ini untuk menentukan kunci akses AWS rahasia, kunci AWS rahasia Wilayah AWS, dan jalur ke bucket Amazon S3 Anda. -
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 menggantiprofile_name
dengan nama profil Anda.ConnectTarget -name: 'AWS_STEP_FUNCTIONS' -profile: '
profile_name
' / -
Simpan CLI skrip Anda. Selanjutnya, tambahkan aturan pemetaan dan perintah migrasi. Untuk informasi selengkapnya, lihat Mengonversi alur kerja Oozie;.