For the complete documentation index, see llms.txt. This page is also available as Markdown.

Joining topics

Understand how to join Kafka topic data when querying with Lenses SQL Snapshot concepts engine for Apache Kafka

Joins

Lenses allows you to combine records from two tables. A query can contain zero, one or multiple JOIN operations.

Create an orders table and insert some data into it:

CREATE TABLE orders(
    _key INT
    , orderDate STRING
    , customerId STRING
    , amount DOUBLE
) 
FORMAT(int, avro);

INSERT INTO orders (
    _key
    , orderDate
    , customerId
    , amount
)
VALUES
(1, '2018-10-01', '1', 200.50),
(2, '2018-10-11', '1', 813.00),
(3, '2018-10-11', '3', 625.20),
(4, '2018-10-11', '14', 730.00),
(5, '2018-10-11', '10', 440.00),
(6, '2018-10-11', '9', 444.80);

With these tables in place, join them to get more information about an order by combining it with the customer information found in the customer table:sq

Lateral Joins

With lateral joins, Lenses allows you to combine records from a table with the elements of an array expression.

We are going to see in more detail what lateral joins are with an example.

Create a batched_readings table and insert some data into it:

You now can use a LATERAL join to inspect, extract and filter the single elements of the readings array, as if they were a normal field:

Running that query returns:

meter_id
reading

1

100

1

95

1

91

2

93

1

92

1

94

You can use multiple LATERAL joins, one inside the other, if you want to extract elements from a nested array:

Running the following query we will obtain the same records of the previous example:

Last updated

Was this helpful?