Transformations
Manufacturing Data Engine (MDE) menyediakan cara mudah untuk melakukan pemrosesan pasca-pemrosesan pesan selama penyerapan dan menghasilkan tag dan catatan turunan baru dari pesan input. Post-prosesor ini disebut transformasi. Transformasi ini dapat dikaitkan dengan jenis tertentu dan menghasilkan pesan baru yang kemudian dimasukkan kembali di MDE. Transformasi adalah pipeline Dataflow bawaan dan dapat dikonfigurasi menggunakan parameter transformasi tertentu.
MDE 1.3 dan versi yang lebih baru menyediakan dua transformasi default:
- Perubahan Peristiwa Grup
- Mode jendela
Transformasi diaktifkan di tingkat jenis. Hal ini berarti semua tag yang termasuk dalam jenis tersebut akan diubah. Jenis dapat dikaitkan dengan nol, satu, atau lebih dari satu transformasi. Asosiasi antara jenis dan transformasi tertentu dapat disiapkan di antarmuka web dan menggunakan API konfigurasi. Jenis dapat dikaitkan dengan transformasi kapan saja dan asosiasi tersebut juga dapat dihapus jika tidak lagi diperlukan.
Transformasi mungkin memerlukan parameter transformasi untuk menentukan perilaku spesifiknya. Parameter transformasi khusus untuk setiap jenis transformasi dan dapat berbeda dari satu transformasi ke transformasi lainnya.
Nilai parameter transformasi tertentu untuk transformasi tertentu juga ditetapkan di tingkat jenis. Jenis yang berbeda dapat menggunakan nilai parameter yang berbeda dan menggunakan transformasi yang sama secara berbeda.
Transformasi menerima semua pesan yang dipetakan ke jenis sebagai input saat transformasi aktif. Setiap pesan diproses oleh prosesor transformasi di Dataflow.
Output dari transformasi apa pun adalah pesan JSON mentah yang diserap di topik landing awal. MDE menyediakan paket konfigurasi unik dengan setiap transformasi. Paket konfigurasi ini harus diterapkan ke MDE jika Anda berencana menggunakan transformasi. Paket konfigurasi membuat serangkaian class pesan, parser, jenis, dan koleksi bucket metadata. Entitas konfigurasi ini memungkinkan MDE mengidentifikasi dan memproses pesan output transformasi ke dalam jenis tertentu. Jenis khusus transformasi menyimpan informasi yang dikeluarkan oleh transformasi. Bucket ini juga dikaitkan dengan Bucket Metadata transformasi tertentu yang menyimpan informasi referensi tentang tag atau Rekaman yang diubah aslinya.
Dua jenis yang disediakan untuk memproses pesan mentah yang dihasilkan oleh setiap transformasi adalah sebagai berikut:
group-event-change-records: Jenis tujuan untuk pesan output dari transformasi perubahan peristiwa grup.window-transformation-records: Jenis tujuan untuk pesan output transformasi windowing.
Transformasi perubahan acara grup
Transformasi ini memantau setiap kolom dalam tag atau grup tag dan membuat peristiwa setiap kali nilai yang dipantau berubah di salah satu tag tersebut.
Transformasi ini dapat dikaitkan dengan jenis arketipe apa pun. Transformasi akan muncul di antarmuka web sebagai eventChange.
Transformasi ini memancarkan pesan yang diuraikan ke jenis
CONTINUOUS_DATA_SERIES tertentu bernama group-event-change-records
yang disediakan dalam paket konfigurasi terkait. Jenis ini berisi
waktu mulai dan waktu berakhir periode antara perubahan nilai serta
nilai sebelumnya, nilai saat ini, dan nama tag yang memicu
perubahan.
Anda dapat menentukan grup tag dengan jenis yang sama untuk dipantau bersama. Anda dapat memilih kriteria utama untuk menentukan cara mengelompokkan tag. Semua tag yang memiliki nilai kunci yang sama dipantau bersama-sama. Nilai key dapat berupa elemen proto tag, termasuk kolom data dan elemen metadata.
Agar transformasi berfungsi untuk setiap tag, kunci disetel ke
TagName.
Parameter
Dua parameter transformasi yang diperlukan untuk mengonfigurasi transformasi ini adalah sebagai berikut:
Ekspresi Kunci: Ditampilkan di antarmuka web sebagai
keyExpression. Menentukan ekspresi yang akan digunakan untuk mengelompokkan tag. Semua tag yang memiliki ekspresi kunci dengan nilai yang sama akan dipantau bersama. Transformasi memancarkan peristiwa perubahan nilai setiap kali perubahan terdeteksi di salah satu tag tersebut. Nilai dibandingkan dengan nilai sebelumnya dari tag yang sama, tetapi peristiwa dipicu saat salah satu tag berubah. Ekspresi kunci ditentukan sebagai ekspresi SpEL dan dapat menggunakan salah satu kolom yang tersedia dalam proto tag. Misalnya, untuk memantau satu tag saja berdasarkan nama tag, ekspresi SpEL akan ditentukan sebagai:#message['tagName']Atau, untuk mengelompokkan tag berdasarkan kolom metadata umum, seperti nama mesin (dengan asumsi ada bucket
asset-hierarchydengan atribut bernamamachine-namedi dalamnya), ekspresinya dapat ditetapkan ke:#message['metadata']['asset-hierarchy']['machine-name']Ekspresi Nilai: Ditampilkan di antarmuka web sebagai
valueExpression. Menentukan kolom nilai yang dipantau oleh transformasi untuk memancarkan peristiwa perubahan baru. Nilai ini juga ditentukan sebagai ekspresi SpEL. Ekspresi dapat menggunakan kolom apa pun dari struktur proto tag. Output ekspresi harus berjenisStringagar berfungsi dengan benar.Misalnya, untuk memantau kolom
valuedi bagianDatadari proto tag, Ekspresi Nilai dapat ditetapkan ke:#message['data']['numeric'].toString()
Pesan Output
Konten Pesan Output yang dihasilkan oleh transformasi perubahan peristiwa grup memberikan detail peristiwa yang terdeteksi. Atribut spesifik yang tersedia dalam pesan output adalah:
TagName: Transformasi membuat peristiwa di Tagname yang sesuai dengan nilai Ekspresi Kunci dan sufiks"_event_change". Jika Ekspresi Kunci ditentukan sebagai TagName individu, tag turunan akan menjadi"TagName_event_change".- Objek Stempel Waktu Berkelanjutan Perubahan Acara: berisi stempel waktu awal
(atribut
event_timestamp_start) dan akhir (atributevent_timestamp_end) acara. Selain itu, objek ini juga berisi durasi (atributduration) acara sebagaidouble. - Objek Data Pesan Perubahan Peristiwa: Berisi nama tag yang nilainya berubah selama peristiwa (atribut
changed_tags) dan daftar tag yang cocok dengan kriteria pengelompokan pada saat peristiwa dipancarkan (atributcontributing_tags). Keduanya dapat berisi lebih dari satu tag per pesan. - Objek Perubahan Nilai Tag: Nama (atribut
tag_name), nilai lama (atributold_expression_value), nilai baru (atributnew_expression_attribute), dan pesan (atributmessage_id) yang memicu peristiwa perubahan status. - Objek Pesan Nilai yang Berubah (di v1.3.6 dan yang lebih baru): Berisi pesan yang memicu perubahan peristiwa.
Lihat skema tertentu di bagian referensi.
Transformasi windowing
Transformasi ini menerapkan fungsi Windowing ke semua tag dari suatu jenis. Windowing mengacu pada ringkasan beberapa data selama jangka waktu tertentu dalam satu data. Transformasi windowing dapat dikaitkan dengan jenis arketipe apa pun. Fitur ini dapat meringkas rekaman tag dari 1 menit hingga 60 menit. Hasil transformasi adalah pesan mentah yang berisi nilai ringkasan untuk ekspresi nilai selama jangka waktu yang dipilih.
Transformasi ini dapat diterapkan beberapa kali ke jenis yang sama selama Id setiap transformasi windowing (sebagaimana ditentukan dalam parameternya) unik dalam jenis. Anda dapat menambahkan transformasi windowing menggunakan antarmuka web, tetapi Anda harus menggunakan API untuk menambahkan beberapa transformasi windowing ke jenis tertentu.
Transformasi menghasilkan tag turunan dari jenis yang diberikan (bernama
window-transformation-records) yang berisi ringkasan semua data
yang diterima selama jangka waktu tersebut untuk Tag tersebut. Transformasi ini beroperasi di tingkat tag: transformasi ini akan membuat tag ringkasan untuk setiap tag jenis yang terkait dengan transformasi tersebut. Nama tag terdiri dari
Tagname asli dan akhiran -window-stats serta id dari
transformasi windowing.
Parameter
Transformasi ini memerlukan tiga parameter untuk beroperasi:
- Durasi Jendela: tersedia di antarmuka web sebagai
durationMinutes. Nilai ini mengacu pada durasi Jendela yang akan diterapkan dalam menit. Misalnya, nilai 1 akan menghasilkan deret waktu turunan dengan resolusi 1 menit. - ID Jendela: tersedia di antarmuka web sebagai
id. Menetapkan ID unik ke setiap transformasi windowing jenis untuk memungkinkan lebih dari satu diterapkan secara paralel. ID dapat berupa String apa pun. Ekspresi Nilai: tersedia di antarmuka web sebagai
valueExpression. Ini adalah ekspresi SpEL yang diterapkan ke proto tag untuk menghasilkan Nilai numerik yang akan diringkas oleh transformasi windowing. Misalnya, jika Anda perlu menggunakan kolom nilai tag numerik generik, ekspresivalueExpressiondapat ditentukan sebagai:#message['data']['numeric']
Pesan output
Transformasi memancarkan satu pesan untuk setiap jangka waktu yang ditentukan oleh
Parameter transformasi durationMinutes. Pesan output berisi atribut berikut:
- TagName: Nama tag deret waktu turunan. Nilai ini dihasilkan
secara otomatis oleh transformasi windowing. Nama ini dibentuk menggunakan
TagName asli dan akhiran
-window-statssertaiddari transformasi windowing. Misalnya, untuk TagName yang disebutTemperaturedan ID1, tag turunan akan diberi namaTemperature-window-stats-1. - TimeStamp: Berisi stempel waktu awal dan akhir Jendela
(tersedia sebagai atribut
event_timestamp_startdanevent_timestamp_end). - Statistik Ringkasan Jendela: Berisi semua data ringkasan untuk periode yang mencakup:
- Rata-rata: Nilai rata-rata dari semua nilai yang diterima selama periode waktu.
- Min: Nilai minimal dari semua nilai yang diterima selama jangka waktu.
- Maks: Nilai maksimum dari semua nilai yang diterima selama jangka waktu.
- Simpangan Baku: Simpangan baku semua nilai yang diterima selama jangka waktu.
- p50: Tingkat keyakinan 50% tidak terlampaui untuk nilai yang diterima selama periode waktu.
- p90: Tingkat keyakinan 90% tidak terlampaui untuk nilai yang diterima selama periode waktu.
- Jumlah: Ringkasan semua nilai yang diterima selama periode waktu.
- Jumlah: Jumlah nilai yang diterima selama jangka waktu.
- Delta: Perbedaan antara nilai terakhir dan nilai pertama yang diterima selama periode waktu.
Untuk mengetahui informasi selengkapnya, lihat skema tertentu di bagian Skema Transformasi.