Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CloudWatch keluaran aliran metrik dalam format JSON
Dalam aliran CloudWatch metrik yang menggunakan format JSON, setiap catatan Firehose berisi beberapa objek JSON yang dipisahkan oleh karakter baris baru (\n). Setiap objek mencakup satu titik data tunggal dari satu metrik tunggal.
Format JSON yang digunakan sepenuhnya kompatibel dengan AWS Glue dan dengan Amazon Athena. Jika Anda memiliki aliran pengiriman Firehose dan AWS Glue tabel diformat dengan benar, format dapat secara otomatis diubah menjadi format Parket atau format Optimized Row Columnar (ORC) sebelum disimpan di S3. Untuk informasi selengkapnya tentang mengubah format, lihat Mengonversi Format Rekaman Input Anda di Firehose. Untuk informasi selengkapnya tentang format yang benar AWS Glue, lihatSkema AWS Glue mana yang harus saya gunakan untuk format hasil akhir JSON?.
Pada format JSON, nilai yang valid untuk unit
adalah sama seperti untuk nilai unit
dari Struktur API MetricDatum
. Untuk informasi selengkapnya, lihat MetricDatum. Nilai untuk bidang timestamp
dalam jangka waktu milidetik, misalnya 1616004674229
.
Berikut ini adalah contoh dari format tersebut. Pada contoh ini, JSON diformat agar mudah dibaca, tetapi dalam praktiknya keseluruhan format ada pada satu baris tunggal.
{ "metric_stream_name": "MyMetricStream", "account_id": "1234567890", "region": "us-east-1", "namespace": "AWS/EC2", "metric_name": "DiskWriteOps", "dimensions": { "InstanceId": "i-123456789012" }, "timestamp": 1611929698000, "value": { "count": 3.0, "sum": 20.0, "max": 18.0, "min": 0.0, "p99": 17.56, "p99.9": 17.8764, "TM(25%:75%)": 16.43 }, "unit": "Seconds" }
Skema AWS Glue mana yang harus saya gunakan untuk format hasil akhir JSON?
Berikut ini adalah contoh representasi JSON StorageDescriptor
untuk AWS Glue tabel, yang kemudian akan digunakan oleh Firehose. Untuk informasi lebih lanjut tentangStorageDescriptor
, lihat StorageDescriptor.
{ "Columns": [ { "Name": "metric_stream_name", "Type": "string" }, { "Name": "account_id", "Type": "string" }, { "Name": "region", "Type": "string" }, { "Name": "namespace", "Type": "string" }, { "Name": "metric_name", "Type": "string" }, { "Name": "timestamp", "Type": "timestamp" }, { "Name": "dimensions", "Type": "map<string,string>" }, { "Name": "value", "Type": "struct<min:double,max:double,count:double,sum:double,p99:double,p99.9:double>" }, { "Name": "unit", "Type": "string" } ], "Location": "s3://amzn-s3-demo-bucket/", "InputFormat": "org.apache.hadoop.mapred.TextInputFormat", "OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat", "SerdeInfo": { "SerializationLibrary": "org.apache.hive.hcatalog.data.JsonSerDe" }, "Parameters": { "classification": "json" } }
Contoh sebelumnya adalah untuk data yang dicatat di Amazon S3 dalam format JSON. Gantilah nilai-nilai di bidang-bidang berikut ini dengan nilai-nilai yang sudah terindikasi untuk menyimpan data dalam format Parquet atau format Optimized Row Columnar (ORC).
Parquet:
InputFormat: org.apache.hadoop.hive.ql.io.parquet. MapredParquetInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.parquet. MapredParquetOutputFormat
SerDeInfo.SerializationLib: org.apache.hadoop.hive.ql.io.parquet.serde. ParquetHiveSerDe
parameters.classification: parquet
ORC:
InputFormat: org.apache.hadoop.hive.ql.io.orc. OrcInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.orc. OrcOutputFormat
SerDeInfo.SerializationLib: org.apache.hadoop.hive.ql.io.orc. OrcSerde
parameters.classification: orc