U bent hier:
Beperkingen en overwegingen bij semi- en antijoins
Semi- en antijoins zijn krachtige tools voor het filteren van gegevens op basis van het bestaan van gerelateerde records. Als u nauwkeurige resultaten en optimale prestaties wilt garanderen, houdt u rekening met deze specifieke werkingen wanneer u aan de slag gaat.
Niet-ondersteunde bewerkingen:
cogroupen joins kunnen niet in dezelfde query worden gebruikt.- Totalen en subtotalen worden niet ondersteund.
- Booleaanse filterlogica wordt niet ondersteund.
- Blends en joins kunnen niet in dezelfde query worden gecombineerd.
Prestaties optimaliseren:
- Filter de tweede gegevensset voordat u een join uitvoert. Joinprestaties zijn recht evenredig met de hoeveelheid gegevens die wordt geretourneerd door de tweede gegevensset.
- Join-instructies uitvoeren vóór projecties op de queryresultaten. Als uw query bijvoorbeeld een
foreachbevat, zoalsq = foreach q generate count(q1) as 'A';, voert u deze uit na de join.
Ondersteunde filters
- Filters kunnen worden toegepast op zowel de primaire als secundaire gegevenssets.
Joinbeperkingen
| Beperking | Details |
|---|---|
| Gegevenssetlimiet | U kunt lid worden van maximaal twee gegevenssets. Overweeg voor het combineren van meer gegevenssets (maximaal zes) een blend te gebruiken. |
| Veldkoppelingen | Maximaal vijf veldkoppelingen zijn toegestaan tussen gegevenssets. |
| Volgorde van bewerkingen | Gegevenssets moeten worden samengevoegd voordat ze kunnen worden verkend. Joingegevensbron wordt niet beschikbaar als eerst groeperingen, meeteenheden of filters worden toegevoegd. |
| Selfjoins | Het combineren van rijen binnen dezelfde gegevensset wordt ondersteund. Wanneer een filter wordt toegepast in een selfjoin, is er slechts één gegevensset zichtbaar. Globale filters worden toegepast op de primaire gegevensset in de join. |
| Primaire gegevenssetfocus | Facettering en acties op recordniveau worden uitsluitend toegepast op de primaire gegevensset. |

