lookaround_join¶
Type of operation: Join
Description¶
Lookaround join is a type of inner join. Where this differs from “join” is that a row from the input dataset is matched only with rows from the other dataset that are within the specified timeframe around the input row. This join can only be used to join two event datasets.
The first argument “frame” specifies the timeframe. The “predicate” and “columnbinding” arguments work identically to that of a regular “join.”
Usage¶
lookaround_join frame [ , targetDataset ] [ , predicate ] ... [ , columnbinding ] ...
Argument |
Type |
Required |
Multiple |
---|---|---|---|
frame |
frame |
Required |
Only one |
targetDataset |
datasetref |
Optional |
Only one |
predicate |
bool |
Optional |
Can be multiple |
columnbinding |
expression |
Optional |
Can be multiple |
Accelerable¶
lookaround_join is always accelerable if the input is accelerable. A dataset that only uses accelerable verbs can be accelerated, making queries on the dataset respond faster.
Examples¶
lookaround_join frame_exact(back: 2s, ahead: 2s), [email protected], location:@hostdata.location
For every row in the input dataset, fetch the rows from “host” that are exactly within 2s of the input row and matching the IP address. Extract the location field from the “hostdata” dataset. Consider using frame() instead of frame_exact() where possible, for faster execution.