Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Referensi Perintah CLI EMRFS
CLI EMRFS diinstal secara default pada semua simpul utama klaster yang dibuat menggunakan rilis Amazon EMR versi 3.2.1 atau yang lebih baru. Anda dapat menggunakan CLI EMRFS untuk mengelola metadata yang digunakan dalam tampilan yang konsisten.
catatan
emrfsPerintah ini hanya didukung dengan emulasi terminal VT1 00. Namun, perintah tersebut dapat bekerja dengan mode emulator terminal lainnya.
perintah tingkat atas emrfs
Perintah tingkat atas emrfs mendukung struktur berikut.
emrfs [describe-metadata | set-metadata-capacity | delete-metadata | create-metadata | \ list-metadata-stores | diff | delete | sync | import ]
[options]
[arguments]
Tentukan [opsi], dengan atau tanpa [argumen] sebagaimana dijelaskan dalam tabel berikut. Untuk [opsi] khusus sub-perintah (describe-metadata
, set-metadata-capacity
, dll.), lihat setiap sub-perintah di bawah.
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
Kunci AWS akses yang Anda gunakan untuk menulis objek ke Amazon S3 dan untuk membuat atau mengakses penyimpanan metadata di DynamoDB. Secara default, |
Tidak |
|
Kunci AWS rahasia yang terkait dengan kunci akses yang Anda gunakan untuk menulis objek ke Amazon S3 dan untuk membuat atau mengakses penyimpanan metadata di DynamoDB. Secara default, |
Tidak |
|
Membuat keluaran verbose. |
Tidak |
|
Menampilkan pesan bantuan untuk perintah |
Tidak |
emrfs mendeskripsikan-metadata sub-perintah
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Tidak |
contoh emrfs mendeskripsikan-metadata contoh
Contoh berikut menjelaskan tabel metadata default.
$ emrfs describe-metadata
EmrFSMetadata
read-capacity: 400
write-capacity: 100
status: ACTIVE
approximate-item-count (6 hour delay): 12
emrfs sub-perintah set-metadata-capacity
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Tidak |
|
Kapasitas throughput baca yang diminta untuk tabel metadata. Jika |
Tidak |
|
Kapasitas throughput tulis yang diminta untuk tabel metadata. Jika |
Tidak |
contoh emrfs set-metadata-capacity
Contoh berikut menetapkan kapasitas throughput baca ke 600
dan kapasitas tulis ke 150
untuk tabel metadata yang bernama EmrMetadataAlt
.
$ emrfs set-metadata-capacity --metadata-name EmrMetadataAlt --read-capacity 600 --write-capacity 150
read-capacity: 400
write-capacity: 100
status: UPDATING
approximate-item-count (6 hour delay): 0
sub-perintah hapus-metadata emrfs
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Tidak |
contoh hapus-metadata emrfs
Contoh berikut menghapus tabel metadata default.
$ emrfs delete-metadata
sub-perintah buat-metadata emrfs
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Tidak |
|
Kapasitas throughput baca yang diminta untuk tabel metadata. Jika |
Tidak |
|
Kapasitas throughput tulis yang diminta untuk tabel metadata. Jika |
Tidak |
contoh buat-metadata emrfs
Contoh berikut membuat tabel metadata bernama EmrFSMetadataAlt
.
$ emrfs create-metadata -m EmrFSMetadataAlt
Creating metadata: EmrFSMetadataAlt
EmrFSMetadataAlt
read-capacity: 400
write-capacity: 100
status: ACTIVE
approximate-item-count (6 hour delay): 0
emrfs sub-perintah list-metadata-stores
Sub-perintah emrfs list-metadata-stores tidak memiliki [opsi].
contoh List-metadata-stores contoh
Contoh berikut mencantumkan tabel metadata Anda.
$ emrfs list-metadata-stores
EmrFSMetadata
sub-perintah diff emrfs
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Tidak |
|
Jalur ke bucket Amazon S3 yang akan dibandingkan dengan tabel metadata. Bucket disinkronkan secara rekursif. |
Ya |
contoh Contoh diff emrfs
Contoh berikut membandingkan tabel metadata default dengan bucket Amazon S3.
$ emrfs diff s3://elasticmapreduce/samples/cloudfront
BOTH | MANIFEST ONLY | S3 ONLY
DIR elasticmapreduce/samples/cloudfront
DIR elasticmapreduce/samples/cloudfront/code/
DIR elasticmapreduce/samples/cloudfront/input/
DIR elasticmapreduce/samples/cloudfront/logprocessor.jar
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-14.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-15.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-16.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-17.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-18.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-19.WxYz1234
DIR elasticmapreduce/samples/cloudfront/input/XABCD12345678.2009-05-05-20.WxYz1234
DIR elasticmapreduce/samples/cloudfront/code/cloudfront-loganalyzer.tgz
sub-perintah hapus emrfs
Opsi |
Deskripsi |
Diperlukan |
---|---|---|
|
|
Tidak |
|
Jalur ke bucket Amazon S3 yang Anda lacak untuk tampilan yang konsisten. Bucket disinkronkan secara rekursif. |
Ya |
-t |
Waktu kedaluwarsa (ditafsirkan menggunakan argumen unit waktu). Semua entri metadata yang lebih lama dari |
|
|
Ukuran yang digunakan untuk menafsirkan argumen waktu (nanodetik, mikrodetik, milidetik, detik, menit, jam, atau hari). Jika tidak ada argumen yang ditentukan, nilai default adalah |
|
|
Jumlah throughput baca yang tersedia yang diminta yang digunakan untuk operasi delete. Jika |
Tidak |
|
Jumlah throughput tulis yang tersedia yang diminta yang digunakan untuk operasi delete. Jika |
Tidak |
contoh menghapus emrfs
Berikut adalah contoh menghapus semua objek di bucket Amazon S3 dari metadata pelacakan untuk tampilan yang konsisten.
$ emrfs delete s3://elasticmapreduce/samples/cloudfront
entries deleted: 11
sub-perintah impor emrfs
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Tidak |
|
Jalur ke bucket Amazon S3 yang Anda lacak untuk tampilan yang konsisten. Bucket disinkronkan secara rekursif. |
Ya |
|
Jumlah throughput baca yang tersedia yang diminta yang digunakan untuk operasi delete. Jika |
Tidak |
|
Jumlah throughput tulis yang tersedia yang diminta yang digunakan untuk operasi delete. Jika |
Tidak |
contoh impor emrfs
Berikut adalah contoh mengimpor semua objek dalam bucket Amazon S3 dengan metadata pelacakan untuk tampilan yang konsisten. Semua kunci yang tidak dikenal diabaikan.
$ emrfs import s3://elasticmapreduce/samples/cloudfront
sub-perintah sinkronisasi emrfs
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Tidak |
|
Jalur ke bucket Amazon S3 yang Anda lacak untuk tampilan yang konsisten. Bucket disinkronkan secara rekursif. |
Ya |
|
Jumlah throughput baca yang tersedia yang diminta yang digunakan untuk operasi delete. Jika |
Tidak |
|
Jumlah throughput tulis yang tersedia yang diminta yang digunakan untuk operasi delete. Jika |
Tidak |
contoh perintah sinkronisasi emrfs
Berikut adalah contoh mengimpor semua objek dalam bucket Amazon S3 dengan metadata pelacakan untuk tampilan yang konsisten. Semua kunci yang tidak dikenal dihapus.
$ emrfs sync s3://elasticmapreduce/samples/cloudfront
Synching samples/cloudfront 0 added | 0 updated | 0 removed | 0 unchanged
Synching samples/cloudfront/code/ 1 added | 0 updated | 0 removed | 0 unchanged
Synching samples/cloudfront/ 2 added | 0 updated | 0 removed | 0 unchanged
Synching samples/cloudfront/input/ 9 added | 0 updated | 0 removed | 0 unchanged
Done synching s3://elasticmapreduce/samples/cloudfront 9 added | 0 updated | 1 removed | 0 unchanged
creating 3 folder key(s)
folders written: 3
sub-perintah baca-sqs emrfs
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Ya |
|
|
Ya |
sub-perintah hapus-sqs emrfs
Opsi | Deskripsi | Diperlukan |
---|---|---|
|
|
Ya |
Mengirimkan perintah CLI EMRFS sebagai langkah
Contoh berikut menunjukkan bagaimana menggunakan emrfs
utilitas pada master node dengan memanfaatkan AWS CLI atau API dan command-runner.jar
untuk menjalankan emrfs
perintah sebagai langkah. Contoh menggunakan AWS SDK for Python (Boto3) untuk menambahkan langkah ke cluster yang menambahkan objek dalam bucket Amazon S3 ke tabel metadata EMRFS default.
import boto3
from botocore.exceptions import ClientError
def add_emrfs_step(command, bucket_url, cluster_id, emr_client):
"""
Add an EMRFS command as a job flow step to an existing cluster.
:param command: The EMRFS command to run.
:param bucket_url: The URL of a bucket that contains tracking metadata.
:param cluster_id: The ID of the cluster to update.
:param emr_client: The Boto3 Amazon EMR client object.
:return: The ID of the added job flow step. Status can be tracked by calling
the emr_client.describe_step() function.
"""
job_flow_step = {
"Name": "Example EMRFS Command Step",
"ActionOnFailure": "CONTINUE",
"HadoopJarStep": {
"Jar": "command-runner.jar",
"Args": ["/usr/bin/emrfs", command, bucket_url],
},
}
try:
response = emr_client.add_job_flow_steps(
JobFlowId=cluster_id, Steps=[job_flow_step]
)
step_id = response["StepIds"][0]
print(f"Added step {step_id} to cluster {cluster_id}.")
except ClientError:
print(f"Couldn't add a step to cluster {cluster_id}.")
raise
else:
return step_id
def usage_demo():
emr_client = boto3.client("emr")
# Assumes the first waiting cluster has EMRFS enabled and has created metadata
# with the default name of 'EmrFSMetadata'.
cluster = emr_client.list_clusters(ClusterStates=["WAITING"])["Clusters"][0]
add_emrfs_step(
"sync", "s3://elasticmapreduce/samples/cloudfront", cluster["Id"], emr_client
)
if __name__ == "__main__":
usage_demo()
Anda dapat menggunakan nilai step_id
yang dikembalikan untuk memeriksa log untuk hasil operasi.