AWS Data Pipeline tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada dari AWS Data Pipeline dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
EmrActivity
Menjalankan sebuah EMR cluster.
AWS Data Pipeline menggunakan format yang berbeda untuk langkah-langkah dari AmazonEMR; misalnya, AWS Data Pipeline menggunakan argumen yang dipisahkan koma setelah JAR nama di bidang EmrActivity
langkah. Contoh berikut menunjukkan langkah yang diformat untuk AmazonEMR, diikuti dengan yang AWS Data Pipeline setara:
s3://example-bucket/MyWork.jar arg1 arg2 arg3
"s3://example-bucket/MyWork.jar,arg1,arg2,arg3"
Contoh
Berikut adalah contoh dari jenis objek ini. Contoh ini menggunakan versi Amazon yang lebih lamaEMR. Verifikasi contoh ini untuk kebenaran dengan versi EMR cluster Amazon yang Anda gunakan.
Objek ini mereferensikan tiga objek lain yang akan Anda tetapkan dalam file definisi alur yang sama. MyEmrCluster
adalah objek EmrCluster
dan MyS3Input
dan MyS3Output
adalah objek S3DataNode
.
catatan
Dalam contoh ini, Anda dapat mengganti step
bidang dengan string cluster yang Anda inginkan, yang bisa berupa skrip Pig, cluster streaming Hadoop, kustom Anda sendiri JAR termasuk parameternya, atau sebagainya.
Hadoop 2.x (3.x) AMI
{ "id" : "MyEmrActivity", "type" : "EmrActivity", "runsOn" : { "ref" : "MyEmrCluster" }, "preStepCommand" : "scp remoteFiles localFiles", "step" : ["s3://mybucket/myPath/myStep.jar,firstArg,secondArg,-files,s3://mybucket/myPath/myFile.py,-input,s3://myinputbucket/path,-output,s3://myoutputbucket/path,-mapper,myFile.py,-reducer,reducerName","s3://mybucket/myPath/myotherStep.jar,..."], "postStepCommand" : "scp localFiles remoteFiles", "input" : { "ref" : "MyS3Input" }, "output" : { "ref" : "MyS3Output" } }
catatan
Untuk melewati argumen untuk aplikasi dalam langkah, Anda perlu menentukan Wilayah di jalur script, seperti dalam contoh berikut. Selain itu, Anda mungkin perlu melarikan diri dari argumen yang Anda lewati. Misalnya, jika Anda menggunakan script-runner.jar
untuk menjalankan script dan ingin melewatkan argumen ke script, Anda harus melarikan diri koma yang memisahkan mereka. Slot langkah berikut menggambarkan cara melakukannya:
"step" : "s3://
eu-west-1
.elasticmapreduce/libs/script-runner/script-runner.jar,s3://datapipeline/echo.sh,a\\\\,b\\\\,c"
Langkah ini menggunakan script-runner.jar
untuk menjalankan shell script echo.sh
dan melewati a
, b
, dan c
sebagai argumen tunggal untuk script. Karakter escape pertama dihapus dari argumen yang dihasilkan sehingga Anda mungkin perlu untuk melarikan diri lagi. Misalnya, jika Anda memiliki File\.gz
argumenJSON, Anda dapat menghindarinya menggunakanFile\\\\.gz
. Namun, karena escape pertama dibuang, Anda harus menggunakan File\\\\\\\\.gz
.
Sintaks
Bidang Invokasi Objek | Deskripsi | Jenis Slot |
---|---|---|
jadwal | Objek ini dipanggil dalam pelaksanaan interval jadwal. Tentukan referensi jadwal ke objek lain untuk mengatur urutan eksekusi dependensi untuk objek ini. Anda dapat memenuhi persyaratan ini dengan secara eksplisit mengatur jadwal pada objek, misalnya, dengan menentukan "schedule": {"ref":
"DefaultSchedule"} . Dalam kebanyakan kasus, lebih baik untuk menempatkan referensi jadwal pada objek alur default sehingga semua objek mewarisi jadwal itu. Atau, jika alur memiliki pohon jadwal (jadwal dalam jadwal utama), Anda dapat membuat objek induk yang memiliki referensi jadwal. Untuk informasi selengkapnya tentang konfigurasi jadwal opsional contoh, lihat https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html |
Objek Referensi, misalnya, “schedule”: {"ref”:” myScheduleId “} |
Grup yang diperlukan (Salah satu dari berikut ini diperlukan) | Deskripsi | Jenis Slot |
---|---|---|
runsOn | EMRCluster Amazon tempat pekerjaan ini akan berjalan. | Objek Referensi, misalnya, "runsOn“: {" ref”:” myEmrCluster Id "} |
workerGroup | Kelompok pekerja. Ini digunakan untuk tugas perutean. Jika Anda memberikan nilai runsOn dan workerGroup ada, workerGroup akan diabaikan. |
String |
Bidang Opsional | Deskripsi | Jenis Slot |
---|---|---|
attemptStatus | Baru-baru ini melaporkan status dari aktivitas jarak jauh. | String |
attemptTimeout | Timeout untuk penyelesaian pekerjaan jarak jauh. Jika disetel, maka aktivitas jarak jauh yang tidak lengkap dalam waktu mulai yang ditetapkan mungkin dicoba lagi. | Periode |
dependsOn | Tentukan dependensi pada objek yang bisa dijalankan lainnya. | Objek Referensi, misalnya, "dependsOn“: {" ref”:” myActivityId “} |
failureAndRerunModus | Menjelaskan perilaku simpul konsumen ketika dependensi gagal atau menjalankan kembali. | Pencacahan |
input | Lokasi data input. | Objek Referensi, misalnya, “input”: {"ref”:” myDataNode Id "} |
lateAfterTimeout | Waktu berlalu setelah alur mulai di mana objek harus menyelesaikan. Hal ini dipicu hanya ketika jenis jadwal tidak disetel ke ondemand . |
Periode |
maxActiveInstances | Jumlah maksimum instans aktif bersamaan dari suatu komponen. Re-runs tidak dihitung terhadap jumlah instans aktif. | Bilangan Bulat |
maximumRetries | Jumlah maksimum upaya mencoba ulang pada kegagalan. | Bilangan Bulat |
onFail | Tindakan untuk dijalankan ketika objek saat ini gagal. | Objek Referensi, misalnya, "onFail“: {" ref”:” myActionId “} |
onLateAction | Tindakan yang harus dipicu jika objek belum dijadwalkan atau masih belum selesai. | Objek Referensi, misalnya, "onLateAction“: {" ref”:” myActionId “} |
onSuccess | Tindakan untuk dijalankan ketika objek saat ini berhasil. | Objek Referensi, misalnya, "onSuccess“: {" ref”:” myActionId “} |
output | Lokasi data output. | Objek Referensi, misalnya, “output”: {"ref”:” myDataNode Id "} |
induk | Induk dari objek saat ini dari mana slot akan diwariskan. | Objek Referensi, misalnya, “induk”: {"ref”:” myBaseObject Id "} |
pipelineLogUri | Amazon S3URI, seperti 's3://BucketName/Prefix/ 'untuk mengunggah log untuk pipeline. | String |
postStepCommand | Shell script untuk dijalankan setelah semua langkah selesai. Untuk menentukan beberapa script, hingga 255, menambahkan beberapa bidang postStepCommand . |
String |
prasyarat | Mendefinisikan prasyarat secara opsional. Node data tidak ditandai "READY" sampai semua prasyarat terpenuhi. | Objek Referensi, misalnya, “prasyarat”: {"ref”:” “myPreconditionId} |
preStepCommand | Shell script untuk dijalankan sebelum langkah-langkah dijalankan. Untuk menentukan beberapa script, hingga 255, menambahkan beberapa bidang preStepCommand . |
String |
reportProgressTimeout | Timeout untuk panggilan kerja jarak jauh berturut-turut ke reportProgress . Jika disetel, maka kegiatan jarak jauh yang tidak melaporkan kemajuan untuk jangka waktu tertentu dapat dianggap terhenti dan jadi dicoba lagi. |
Periode |
resizeClusterBeforeBerlari |
Mengubah ukuran klaster sebelum melakukan aktivitas ini untuk mengakomodasi tabel DynamoDB ditentukan sebagai input atau output. catatanJika Anda |
Boolean |
resizeClusterMaxContoh | Batas pada jumlah maksimum instans yang dapat diminta oleh algoritme resize. | Bilangan Bulat |
retryDelay | Durasi timeout antara dua upaya coba lagi. | Periode |
scheduleType | Jenis jadwal mengizinkan Anda untuk menentukan apakah objek dalam definisi alur Anda harus dijadwalkan pada awal interval, atau akhir interval. Nilai adalah: cron , ondemand , dan timeseries . Penjadwalan timeseries berarti bahwa instans dijadwalkan pada akhir setiap interval. Penjadwalan cron berarti bahwa instans dijadwalkan pada awal setiap interval. Jadwal ondemand mengizinkan Anda untuk menjalankan alur satu kali per aktivasi. Anda tidak perlu meng-klon atau membuat ulang alur untuk menjalankannya lagi. Jika Anda menggunakan jadwal ondemand itu harus ditentukan dalam objek default dan harus menjadi satu-satunya scheduleType yang ditentukan untuk objek dalam alur. Untuk menggunakan alur ondemand , panggil operasi ActivatePipeline untuk setiap putaran berikutnya. |
Pencacahan |
langkah | Satu atau lebih langkah untuk klaster untuk menjalankan. Untuk menentukan beberapa langkah, hingga 255, menambahkan beberapa bidang langkah. Gunakan argumen yang dipisahkan koma setelah JAR nama; misalnya, "”s3://example-bucket/MyWork.jar,arg1,arg2,arg3 . |
String |
Bidang Runtime | Deskripsi | Jenis Slot |
---|---|---|
@activeInstances | Daftar objek instans aktif terjadwal saat ini. | Objek Referensi, misalnya "activeInstances“: {" ref”:” myRunnableObject Id "} |
@actualEndTime | Waktu ketika eksekusi objek ini selesai. | DateTime |
@actualStartTime | Waktu ketika eksekusi objek ini dimulai. | DateTime |
cancellationReason | cancellationReason Jika objek ini dibatalkan. | String |
@cascadeFailedOn | Deskripsi rantai dependensi tempat objek gagal. | Objek Referensi, misalnya, "cascadeFailedOn“: {" ref”:” myRunnableObject Id "} |
emrStepLog | Log EMR langkah Amazon hanya tersedia pada upaya EMR aktivitas | String |
errorId | errorId jika objek ini gagal. |
String |
errorMessage | errorMessage jika objek ini gagal. |
String |
errorStackTrace | Jejak tumpukan kesalahan jika objek ini gagal. | String |
@finishedTime | Waktu saat objek ini menyelesaikan eksekusinya. | DateTime |
hadoopJobLog | Log pekerjaan Hadoop tersedia pada upaya untuk aktivitas EMR berbasis. | String |
@healthStatus | Status kondisi objek yang mencerminkan keberhasilan atau kegagalan instans objek terakhir yang mencapai keadaan dihentikan. | String |
@healthStatusFromInstanceId | Id dari objek instans terakhir yang mencapai keadaan dihentikan. | String |
@ healthStatusUpdated Waktu | Waktu di mana status kondisi diperbarui terakhir kali. | DateTime |
hostname | Nama host klien yang mengambil upaya tugas. | String |
@lastDeactivatedTime | Waktu di mana objek ini terakhir dinonaktifkan. | DateTime |
@ latestCompletedRun Waktu | Waktu proses terakhir yang eksekusinya selesai. | DateTime |
@latestRunTime | Waktu proses terakhir untuk eksekusi yang dijadwalkan. | DateTime |
@nextRunTime | Waktu run yang akan dijadwalkan berikutnya. | DateTime |
reportProgressTime | Waktu terbaru bahwa aktivitas jarak jauh melaporkan kemajuan. | DateTime |
@scheduledEndTime | Jadwalkan akhir waktu untuk objek. | DateTime |
@scheduledStartTime | Jadwalkan waktu mulai untuk objek. | DateTime |
@status | Status objek ini. | String |
@version | Versi alur tempat objek dibuat. | String |
@waitingOn | Deskripsi daftar dependensi objek ini sedang menunggu. | Objek Referensi, misalnya, "waitingOn“: {" ref”:” myRunnableObject Id "} |
Bidang Sistem | Deskripsi | Jenis Slot |
---|---|---|
@error | Galat menggambarkan objek yang tidak terbentuk. | String |
@pipelineId | ID dari alur tempat objek ini berada. | String |
@sphere | Lingkup objek menunjukkan tempatnya dalam siklus hidup: Component Objects memunculkan Instance Objects yang mengeksekusi Attempt Objects. | String |