Megosztás a következőn keresztül:


belső illesztés

Az inner illesztés olyan, mint az SQL-világ standard belső illesztése. A kimeneti rekord akkor jön létre, ha egy bal oldali rekordnak ugyanaz az illesztőkulcsa van, mint a jobb oldalon lévő rekordnak.

Az illesztés működését bemutató ábra.

Syntax

Bal oldali tábla|joinkind=inner [ Tippek ] RightTableonFeltételek

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
Bal oldali tábla string ✔️ A bal oldali táblázat vagy táblázatos kifejezés, más néven külső tábla, amelynek sorait egyesíteni kell. A jelölése: $left.
Módosítók string Nulla vagy több térelválasztó illesztési tipp névérték= formájában, amely szabályozza a soregyeztetési művelet és a végrehajtási terv viselkedését. További információ: Tippek.
RightTable string ✔️ A jobb oldali táblázat vagy táblázatos kifejezés, más néven belső táblázat, amelynek sorait egyesíteni kell. A jelölése: $right.
Feltételek string ✔️ Meghatározza, hogy a LeftTable sorai hogyan egyeznek a RightTable soraival. Ha az egyezni kívánt oszlopok neve mindkét táblában azonos, használja a ColumnName szintaxistON. Ellenkező esetben használja a LeftColumnRightColumn==$right. szintaxistON $left.. Több feltétel megadásához használhatja az "és" kulcsszót, vagy vesszővel elválaszthatja őket. Ha vesszőt használ, a feltételek kiértékelése az "és" logikai operátor használatával történik.

Tipp

A legjobb teljesítmény érdekében, ha az egyik tábla mindig kisebb, mint a másik, használja az illesztés bal oldalán.

Módosítók

Paraméterek neve Értékek Leírás
hint.remote auto, left, local, right Lásd: Fürtközi csatlakozás
hint.strategy=broadcast Megadja a fürtcsomópontok lekérdezési terhelésének megosztásának módját. Lásd a közvetítési csatlakozást
hint.shufflekey=<key> A shufflekey lekérdezés megosztja a fürtcsomópontok lekérdezési terhelését egy kulcs használatával az adatok particionálásához. Az elosztási lekérdezés megtekintése
hint.strategy=shuffle A shuffle stratégiai lekérdezés megosztja a fürtcsomópontok lekérdezési terhelését, ahol minden csomópont feldolgozza az adatok egy partícióját. Az elosztási lekérdezés megtekintése

Válaszok

Séma: Mindkét tábla összes oszlopa, beleértve az egyező kulcsokat is.
Sorok: Csak egyező sorok mindkét táblából.

Példa

let X = datatable(Key:string, Value1:long)
[
    'a',1,
    'b',2,
    'b',3,
    'k',5,
    'c',4
];
let Y = datatable(Key:string, Value2:long)
[
    'b',10,
    'c',20,
    'c',30,
    'd',40,
    'k',50
];
X | join kind=inner Y on Key

Kimenet

Kulcs Érték1 Kulcs1 Érték2
b 3 b 10
b 2 b 10
c 4 c 20
c 4 c 30
k 5 k 50

Megjegyzés

  • (b,10) a jobb oldalról kétszer lett összekapcsolva: a bal oldalon (b,2) és (b,3) is.
  • (c,4) a bal oldalon kétszer volt összekapcsolva: mindkettővel (c,20) és (c,30) a jobb oldalon.
  • (k,5) balról és (k, 50) a jobb oldalon egyszer csatlakozik.