Тёмный

[Kafka Summit] 🚢 All at Sea with Streams - Using Kafka to Detect Patterns in the Behaviour of Ships 

Robin Moffatt
Подписаться 4,2 тыс.
Просмотров 1,1 тыс.
50% 1

This talk is from #KafkaSummit Americas 2021
📝 Abstract:
The great thing about streams of real-time events is that they can be used to spot behaviours as they happen and respond to them as needed. Instead of waiting until tomorrow to find out what happened yesterday, we can act on things straight away.
This talk will show a real-life example of one particular pattern that it's useful to detect-ships engaged in potentially suspicious behaviour at sea. Transhipping is often used for legitimate purposes to optimise efficiencies but can also be used for nefarious purposes such as illegal fishing.
By capturing streams of maritime AIS data in real-time into Kafka and processing it with ksqlDB, it's possible to detect the kind of characteristics that could indicate behaviour of interest, such as ships moving slowly at close proximity for a length of time.
I'll demonstrate how the data was ingested from a raw TCP feed, unified with reference data from CSV files, and then processed to spot patterns with the resulting real-time stream of matches written to a new Kafka topic for validation and analysis.
---
⏱ Timecodes:
00:00:00 Introduction
00:01:30 Ingesting AIS data into Apache Kafka
00:02:12 Creating an Apache Kafka managed cluster
00:03:18 Handling different message types in the same Apache Kafka topic
00:05:14 Routing Kafka messages to different topics using ksqlDB based on message type
00:07:04 Modelling a Kafka topic into a ksqlDB table (state store)
00:09:14 Enriching ship movement reports with ship attribute data using a Stream-Table join in ksqlDB
00:11:09 Visualising real-time AIS data from Kafka with Elasticsearch and Kibana
00:13:03 Explanation of transshipping
00:13:37 Defining transshipping in stream processing terms
00:14:32 Ingesting additional data from CSV file into Kafka
00:15:50 Adding the new reference data to the existing ship info table
00:16:46 Building ksqlDB stream processing queries to do pattern matching
00:17:23 Stream-Stream join in ksqlDB
00:18:50 ksqlDB Stream-Stream join type and window explanation
00:19:28 Determining the distance between two vessels using the built-in GEO_DISTANCE function
00:20:10 Using the data lineage view to visualise the stream processing components and data flow
00:20:39 Visualising ships in close proximity in Kibana
00:20:45 Using a session window aggregation in ksqlDB
00:24:11 Streaming data from Kafka to Elasticsearch using the managed Elasticsearch connector
00:24:59 Exploring the finished pattern match results in Kibana map view
00:26:58 Recap and Summary
---
📚Resources:
👉 Sign up for Confluent Cloud rmoff.dev/l2f -- use code RMOFF200 for money off your bill
👾Code to try it yourself: github.com/confluentinc/demo-...
🧑🏻‍🏫 Read the two blogs that inspired this talk:
📕 rmoff.dev/ais01
📕 rmoff.dev/ais02

Наука

Опубликовано:

 

3 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 8   
@francksgenlecroyant
@francksgenlecroyant 2 года назад
My goodness, this Kafka is winning everything!
@drakezen
@drakezen 2 года назад
Good talk. Thanks for the upload.
@rmoff
@rmoff 2 года назад
Thanks for watching!
@muttuhosurhosur346
@muttuhosurhosur346 2 года назад
This was really mindblowing.... I tried installaing,,facing an issue in displaying the complete json message in each line from ksqld db
@rmoff
@rmoff 2 года назад
Please head to forum.confluent.io/ and share full details of the issue, and someone should be able to help you there
@t529615
@t529615 2 года назад
Thank you so much for a different but verry god example of how kafka can be used to map and transform data. Great talk. Are there a tutorial or cheetcheats (or git repo) for the ones that wants to do this fro themselves?
@rmoff
@rmoff 2 года назад
Yes indeed - I should have added this to the video notes but forgot :) You can find all the code I used here: github.com/confluentinc/demo-scene/tree/master/maritime-ais
@muttuhosurhosur346
@muttuhosurhosur346 2 года назад
@@rmoff Thank you very much ,,,,i could successfully stream live ais data into elastic search
Далее
ksqlDB HOWTO: Stateful Aggregates
13:56
Просмотров 2,8 тыс.
Как похудеть на 10 кг ?!
07:06
Просмотров 590 тыс.
ksqlDB HOWTO: Reserialising data in Apache Kafka
17:42
Просмотров 1,9 тыс.
🎄Twelve Days of SMT 🎄 - Day 8: TimestampConverter
19:14
ksqlDB HOWTO: Filtering
9:25
Просмотров 1,7 тыс.
ksqlDB HOWTO: Handling Time
9:08
Просмотров 2,4 тыс.
Проверил, как вам?
0:58
Просмотров 272 тыс.