9 Mayıs 2023 Salı

Hazelcast SQL - CREATE JOB

Giriş
Söz dizimi şöyle
CREATE JOB ... AS SINK INTO ...  SELECT ...

Örnek - 3 Tablo Join
Şöyle yaparız. Burada orders, customers, inventory tabloları birleştiriliyor
CREATE JOB amount_due AS
SINK INTO amount_due
     SELECT
          ord.id AS __key,
          ord.cust_id AS cust_id,
          cust.last_name AS last_name,
          cust.first_name AS first_name,
          cust.address1 AS address1,
          cust.address2 AS address2,
          cust.phone AS phone,
          (ord.quantity*inv.unit_price) AS total
     FROM orders AS ord
     JOIN customers AS cust ON ord.cust_id = cust.cust_id
     JOIN inventory AS inv ON ord.item_num = inv.item_num;
Örnek - 2 Tablo Join
Şöyle yaparız. Burada trades ve companies tabloları ticker sütünü ile birleştiriliyor ve sonuç trade_map tablosuna yazılıyor
CREATE JOB ingest_trades AS
  SINK INTO trade_map
  SELECT trades.id, trades.ticker, companies.company, trades.amount FROM trades
  JOIN companies ON companies.ticker = trades.ticker;
Options Örnekleri

processingGuarantee
Sadece Stream işler için kullanılabilir

Örnek
Şöyle yaparız. Burada IMap'ten SELECT yapıp, Kafka Topic'e yazan bir iş var
CREATE JOB testJob
OPTIONS (
  'processingGuarantee' = 'exactlyOnce'
) AS
SINK INTO testTopic
SELECT __key, ticker, price, amount FROM testMap


Hiç yorum yok:

Yorum Gönder

THIRD-PARTY.txt Dosyası

Kullanılan harici kütüphanelerin sürümleri bu dosyada Dosyanın yolu şöyle hazelcast/licenses/THIRD-PARTY.txt