Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Jótanács
Az adatfolyam-grafikonok kibővített leképezési nyelvet kínálnak további függvényekkel, összeállítható átalakításokkal és olyan funkciókkal, mint a feltételes útválasztás és az időalapú összesítés. Az MQTT-, Kafka- vagy OpenTelemetry-végpontokat használó új projektek esetében lásd: Adatok átalakítása térképpel adatfolyam-grafikonokon.
Az adatfolyam-leképezési nyelv használatával alakíthatja át az adatokat az Azure IoT műveletekben. A szintaxis egy egyszerű, mégis hatékony módszer az adatok egyik formátumból a másikba való átalakítását lehetővé tevő leképezések meghatározására. Ez a cikk áttekintést nyújt az adatfolyam-leképezés nyelvéről és a legfontosabb fogalmakról.
A leképezés lehetővé teszi az adatok átalakítását egyik formátumból a másikba. Vegye figyelembe a következő bemeneti rekordot:
{
"Name": "Grace Owens",
"Place of birth": "London, TX",
"Birth Date": "19840202",
"Start Date": "20180812",
"Position": "Analyst",
"Office": "Kent, WA"
}
Hasonlítsa össze a kimeneti rekorddal:
{
"Employee": {
"Name": "Grace Owens",
"Date of Birth": "19840202"
},
"Employment": {
"Start Date": "20180812",
"Position": "Analyst, Kent, WA",
"Base Salary": 78000
}
}
A kimeneti rekordban a bemeneti rekord adatai a következő változtatásokon mennek keresztül:
-
Átnevezett mezők: A
Birth Datemező most márDate of Birth. -
A mezők átstrukturáltak: Mindkettő
Name, ésDate of Birthaz újEmployeekategória alá vannak csoportosítva. -
Mező törölve: A
Place of birthmező el lesz távolítva, mert nem szerepel a kimenetben. -
Mező hozzáadva: A
Base Salarymező egy új mező aEmploymentkategóriában. -
A mezőértékek módosultak vagy egyesültek: A
Positionkimenet mezője egyesíti aPositionbemenet ésOfficea mezők értékét.
Az átalakítások leképezéssel érhetők el, amelyek általában a következőket foglalják magukban:
- Bemeneti definíció: A használt bemeneti rekordok mezőinek azonosítása.
- Kimeneti definíció: Annak megadása, hogy a bemeneti mezők hol és hogyan vannak rendszerezve a kimeneti rekordokban.
-
Átalakítás (nem kötelező): A bemeneti mezők módosítása a kimeneti mezőkhöz való igazításhoz.
expressionakkor szükséges, ha több bemeneti mezőt egyesít egyetlen kimeneti mezővel.
A következő leképezés egy példa:
{
inputs: [
'Birth Date'
]
output: 'Employee.Date of Birth'
}
{
inputs: [
'Position' // - - - - $1
'Office' // - - - - $2
]
output: 'Employment.Position'
expression: '$1 + ", " + $2'
}
{
inputs: [
'$context(position).BaseSalary'
]
output: 'Employment.BaseSalary'
}
A példa térképek:
-
Egy-az-egyhez leképezés:
Birth Dateközvetlenül leképezve vanEmployee.Date of Birthátalakítás nélkül. : és egyetlen mezőbe egyesül. A konvertálási képlet ( $1 + ", " + $2) formázott sztringbe egyesíti ezeket a mezőket.-
Környezetfüggő adatok:
BaseSalaryegy környezetfüggő adatkészletből lesz hozzáadvaposition.
Mezőhivatkozások
A mezőhivatkozások megmutatják, hogyan adhat meg elérési utakat a bemenetben és a kimenetben pontnotáció, például a Employee.Date of Birth használatával, vagy hogyan érhetőek el az adatok egy kontextuális adatkészletből $context(position).
Metaadat-tulajdonságok
Ha az MQTT-t vagy a Kafkát használja forrásként vagy célként, hozzáférhet a metaadat-tulajdonságokhoz, például a témakörökhöz, a felhasználói tulajdonságokhoz és a fejlécekhez a leképezésekben. A szintaxis részleteiről és a példákról a Kifejezések hivatkozás Metaadat mezői című témakörben olvashat.
Környezetualizációs adathalmaz-választók
Ezek a választók lehetővé teszik, hogy a leképezések további adatokat integráljanak külső adatbázisokból, amelyeket környezetualizációs adathalmazoknak neveznek. További részletekért lásd: Környezetualizációs adathalmazok a kifejezések hivatkozásában, és adatok bővítése adatfolyamok használatával.
Rekordszűrés
A rekordszűrés során meg kell adni a feltételeket annak kiválasztásához, hogy mely rekordokat kell feldolgozni vagy elvetni.
Pont jelölése
Az adatfolyammezők elérési útjai pontszintaxist használnak a beágyazott mezőkre való hivatkozásra, speciális karakterek elkerülésével. A teljes szintaxis szabályaival és példákkal kapcsolatban lásd a pont jelölés és elhagyás részt a kifejezések referencia szakaszban.
Menekülés
A pontokat és speciális karaktereket a mezőútvonalakban való menekülésre vonatkozó szabályokért lásd a pont jelölését és a menekülést a kifejezések hivatkozásában.
Helyettesítő karakterek
A helyettesítő karakterek a csillag (*) használatával egyszerre több mezőnek is megfelelnek, ami leegyszerűsíti a leképezéseket, ha a kimenet szorosan hasonlít a bemenetre. A helyettesítő karakterek teljes szintaxisával, elhelyezési szabályaival, többbemenetes helyettesítő karakterekkel és specializációs viselkedéssel kapcsolatban lásd a helyettesítő karaktereket a kifejezések hivatkozásában.
Fontos
Ha a cél egy Parquet- vagy Delta-szerializálással rendelkező tárolási végpont, a leképezések további követelményekkel rendelkeznek. A séma által deklarált összes kimeneti levél leképezése ahelyett, hogy egy egész objektumot egy szülőútvonalhoz rendel, és győződjön meg arról, hogy a kimeneti séma minden mezőt deklarál, amelybe egy helyettesítő karakter ki van bontva. Ellenkező esetben a rekordok elvethetők. További információ: Tároló szerializálási viselkedése.
Utolsó ismert érték
Nyomon követheti egy tulajdonság utolsó ismert értékét. Utótaggal ? $last adja meg a bemeneti mezőt a mező utolsó ismert értékének rögzítéséhez. Ha egy tulajdonságból hiányzik egy érték egy későbbi bemeneti hasznos adatban, a rendszer az utolsó ismert értéket a kimeneti hasznos adathoz rendeli.
Vegyük például a következő leképezést:
inputs: [
'Temperature ? $last'
]
output: 'Thermostat.Temperature'
Ebben a példában az utolsó ismert érték Temperature lesz nyomon követve. Ha egy későbbi bemeneti hasznos adat nem tartalmaz Temperature értéket, a kimenet az utolsó ismert értéket használja.
Kapcsolódó tartalom
- Kifejezésekre vonatkozó hivatkozás – Operátorok , függvények, adattípusok és típuskonvertálási szabályok az összes adatfolyam-átalakításhoz.
- Adatok szűrése adatfolyamban
- Adatok bővítése adatfolyamok használatával
- Adatfolyam létrehozása