Cloudera SQL Stream Builder (SSB) - Update Your FLaNK Stack
Published: 2021-04-07 19:13:05

---
title: Cloudera SQL Stream Builder (SSB) - Update Your FLaNK Stack
published: true
date: 2021-04-07 19:10:00 UTC
tags: 
canonical_url: 
---

# Cloudera SQL Stream Builder (SSB) Released!

[![](https://1.bp.blogspot.com/-Am_V_RWSuiI/YG3901XlOGI/AAAAAAAAc9k/RmmTN_rrFeQa8ib5z1QXPGcE_C83K6ReQCLcBGAsYHQ/w640-h374/showtables.png)](https://1.bp.blogspot.com/-Am_V_RWSuiI/YG3901XlOGI/AAAAAAAAc9k/RmmTN_rrFeQa8ib5z1QXPGcE_C83K6ReQCLcBGAsYHQ/s2048/showtables.png)

CSA 1.3.0 is now available with **Apache Flink 1.12 and SQL Stream Builder!   ** Check out this white paper for some [details](https://www.cloudera.com/campaign/modern-stream-processing-using-streaming-sql.html?internal_Democra=SEC&internal_campaign=FY22-Q1_CC_AMER_Streaming%20SQL_WP-HP-_2021-03-15&cid=7012H000001hNS5QAM&internal_link=h01).    You can get full details on the Stream Processing and Analytics available from Cloudera [here](https://www.cloudera.com/products/cdf/stream-processing-and-analytics.html).

[![](https://docs.cloudera.com/csa/1.3.0/ssb-overview/images/csa-ssb-streaming-sql.png)](https://docs.cloudera.com/csa/1.3.0/ssb-overview/images/csa-ssb-streaming-sql.png)

  

[![](https://docs.cloudera.com/csa/1.3.0/ssb-overview/images/csa-ssb-architecture.png)](https://docs.cloudera.com/csa/1.3.0/ssb-overview/images/csa-ssb-architecture.png)
This is awesome way to query Kafka topics with continuous SQL that is deployed to scalable Flink nodes in YARN or K8.   We can also easily define functions in JavaScript to enhance, enrich and augment our data streams.   No Java to write, no heavy deploys or build scripts, we can build, test and deploy these advanced streaming applications all from your secure browser interface.  

  

  

## References:

- [https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-using-virtual-tables.html](https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-using-virtual-tables.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-overview/topics/csa-ssb-intro.html](https://docs.cloudera.com/csa/1.3.0/ssb-overview/topics/csa-ssb-intro.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-overview/topics/csa-ssb-key-features.html](https://docs.cloudera.com/csa/1.3.0/ssb-overview/topics/csa-ssb-key-features.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-overview/topics/csa-ssb-architecture.html](https://docs.cloudera.com/csa/1.3.0/ssb-overview/topics/csa-ssb-architecture.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-quickstart/topics/csa-ssb-quickstart.html](https://docs.cloudera.com/csa/1.3.0/ssb-quickstart/topics/csa-ssb-quickstart.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-adding-kafka-data-source.html](https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-adding-kafka-data-source.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-using-virtual-tables.html](https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-using-virtual-tables.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-creating-virtual-kafka-source.html](https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-creating-virtual-kafka-source.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-creating-virtual-kafka-sink.html](https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-creating-virtual-kafka-sink.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-creating-virtual-webhook-sink.html](https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-creating-virtual-webhook-sink.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-managing-time.html](https://docs.cloudera.com/csa/1.3.0/ssb-using-ssb/topics/csa-ssb-managing-time.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-job-lifecycle/topics/csa-ssb-running-job-process.html](https://docs.cloudera.com/csa/1.3.0/ssb-job-lifecycle/topics/csa-ssb-running-job-process.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-job-lifecycle/topics/csa-ssb-job-management.html](https://docs.cloudera.com/csa/1.3.0/ssb-job-lifecycle/topics/csa-ssb-job-management.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-job-lifecycle/topics/csa-ssb-sampling-data.html](https://docs.cloudera.com/csa/1.3.0/ssb-job-lifecycle/topics/csa-ssb-sampling-data.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-job-lifecycle/topics/csa-ssb-advanced-job-management.html](https://docs.cloudera.com/csa/1.3.0/ssb-job-lifecycle/topics/csa-ssb-advanced-job-management.html)
- [https://docs.cloudera.com/csa/1.3.0/ssb-using-mv/topics/csa-ssb-using-mvs.html](https://docs.cloudera.com/csa/1.3.0/ssb-using-mv/topics/csa-ssb-using-mvs.html)
- [https://www.cloudera.com/content/www/en-us/about/events/webinars/cloudera-sqlstream-builder.html](https://www.cloudera.com/content/www/en-us/about/events/webinars/cloudera-sqlstream-builder.html)
- [https://www.cloudera.com/about/events/webinars/demo-jam-live-expands-nifi-kafka-flink.html](https://www.cloudera.com/about/events/webinars/demo-jam-live-expands-nifi-kafka-flink.html)
- [https://www.cloudera.com/about/events/virtual-events/cloudera-emerging-technology-day.html](https://www.cloudera.com/about/events/virtual-events/cloudera-emerging-technology-day.html)

[![](https://1.bp.blogspot.com/-gZL92lVlypQ/YG30Ah6yCFI/AAAAAAAAc8o/o4vldhi__6s-uvYjTI_JhWdHPZxFLObTwCLcBGAsYHQ/w640-h458/PhotoFunia-1614701860.jpg)](https://1.bp.blogspot.com/-gZL92lVlypQ/YG30Ah6yCFI/AAAAAAAAc8o/o4vldhi__6s-uvYjTI_JhWdHPZxFLObTwCLcBGAsYHQ/s1200/PhotoFunia-1614701860.jpg)

  

## Example Queries:

  

**SELECT** location, max(temp\_f) as max\_temp\_f, avg(temp\_f) as avg\_temp\_f,   
                 min(temp\_f) as min\_temp\_f

**FROM** weather2 

**GROUP BY** location

  

  

**SELECT**  **HOP\_END** (eventTimestamp, INTERVAL '1' SECOND, INTERVAL '30' SECOND) as        windowEnd,   
       count(`close`) as closeCount,

       sum(cast(`close` as float)) as closeSum, avg(cast(`close` as float)) as closeAverage,   
       min(`close`) as closeMin,

       max(`close`) as closeMax,

       sum(case when `close` > 14 then 1 else 0 end) as stockGreaterThan14 

**FROM** stocksraw   
**WHERE** symbol = 'CLDR'   
**GROUP BY**  **HOP** (eventTimestamp, INTERVAL '1' SECOND, INTERVAL '30' SECOND)

                                                         

  

**SELECT** scada2.uuid, scada2.systemtime, scada2.temperaturef, scada2.pressure, scada2.humidity, scada2.lux, scada2.proximity, 

scada2.oxidising,scada2.reducing , scada2.nh3, scada2.gasko,energy2.`current`,                   

energy2.voltage,energy2.`power`,energy2.`total`,energy2.fanstatus

**FROM** energy2 **JOIN** scada2 **ON** energy2.systemtime = scada2.systemtime

                                                 

  

  

**SELECT** symbol, uuid, ts, dt, `open`, `close`, high, volume, `low`, `datetime`, 'new-high' message, 

'nh' alertcode, CAST(CURRENT\_TIMESTAMP AS BIGINT) alerttime 

**FROM** stocksraw st 

**WHERE** symbol is not null 

**AND** symbol <> 'null' 

**AND trim** (symbol) <> '' and 

**CAST** (close as **DOUBLE** ) > 

( **SELECT**  **MAX** (CAST(close as DOUBLE))   
**FROM** stocksraw s 

**WHERE** s.symbol = st.symbol);

  

  

  

**SELECT**   \* 

**FROM** statusevents

**WHERE** lower(description) like '%fail%'

  

  

  

**SELECT**

  sensor\_id as device\_id,

  HOP\_END(sensor\_ts, INTERVAL '1' SECOND, INTERVAL '30' SECOND) as windowEnd,

  count(\*) as sensorCount,

  sum(sensor\_6) as sensorSum,

  avg(cast(sensor\_6 as float)) as sensorAverage,

  min(sensor\_6) as sensorMin,

  max(sensor\_6) as sensorMax,

  sum(case when sensor\_6 > 70 then 1 else 0 end) as sensorGreaterThan60

**FROM** iot\_enriched\_source

**GROUP BY**

  sensor\_id,

  **HOP** (sensor\_ts, INTERVAL '1' SECOND, INTERVAL '30' SECOND)

  

  

  

**SELECT** title, description, pubDate, `point`, `uuid`, `ts`, eventTimestamp

**FROM** transcomevents

  

##   

## Source Code:

- [https://github.com/tspannhw/CloudDemo2021](https://github.com/tspannhw/CloudDemo2021)
- [https://github.com/tspannhw/StreamingSQLDemos](https://github.com/tspannhw/StreamingSQLDemos)
- [https://github.com/tspannhw/SmartTransit](https://github.com/tspannhw/SmartTransit)

  

  

## Example SQL Stream Builder Run

We login then build our Kafka data source(s), unless they were predefined.

  

Next we build a few virtual table sources for Kafka topics we are going to read from.   If they are JSON we can let SSB determine the schema for us.   Or we can connect to the Cloudera Schema Registry for it to determine the schema for AVRO data.

  

We can then define virtual table syncs to Kafka or webhooks.

  

We then run a SQL query with some easy to determine parameters and if we like the results we can create a materialized view.

  

  

[![](https://1.bp.blogspot.com/-VUPEWZfGyQk/YG39wJM_xMI/AAAAAAAAc9A/o1Ut7J1U8347_JlArz2QC7zqFbf2XWAqACLcBGAsYHQ/w640-h310/consolehistory.png)](https://1.bp.blogspot.com/-VUPEWZfGyQk/YG39wJM_xMI/AAAAAAAAc9A/o1Ut7J1U8347_JlArz2QC7zqFbf2XWAqACLcBGAsYHQ/s2550/consolehistory.png)
  

[![](https://1.bp.blogspot.com/-Xwr-jaBJoTk/YG39wIIuWTI/AAAAAAAAc88/wm3xNXOZU_wk2_bnsod15H1E0r9Rz12eQCLcBGAsYHQ/w640-h348/consoleresultsstocks.png)](https://1.bp.blogspot.com/-Xwr-jaBJoTk/YG39wIIuWTI/AAAAAAAAc88/wm3xNXOZU_wk2_bnsod15H1E0r9Rz12eQCLcBGAsYHQ/s2048/consoleresultsstocks.png)
  

[![](https://1.bp.blogspot.com/-534EsynXyNk/YG39wE5UpiI/AAAAAAAAc84/-o5CvUJ3Ov8rMf8m8fkTpbt3FVLCDbYrwCLcBGAsYHQ/w640-h356/consolerunningjobs.png)](https://1.bp.blogspot.com/-534EsynXyNk/YG39wE5UpiI/AAAAAAAAc84/-o5CvUJ3Ov8rMf8m8fkTpbt3FVLCDbYrwCLcBGAsYHQ/s2048/consolerunningjobs.png)
  

[![](https://1.bp.blogspot.com/-MBOPxZPMHGY/YG39w96tifI/AAAAAAAAc9E/fMrz0uF5KoIDEo6Yj0vkpMB9yPGeXqDNwCLcBGAsYHQ/w640-h320/consolesqljobs.png)](https://1.bp.blogspot.com/-MBOPxZPMHGY/YG39w96tifI/AAAAAAAAc9E/fMrz0uF5KoIDEo6Yj0vkpMB9yPGeXqDNwCLcBGAsYHQ/s2508/consolesqljobs.png)
  

[![](https://1.bp.blogspot.com/-ecCB9ahVsgo/YG39xbCRSsI/AAAAAAAAc9I/l77rszPIIiEk_fqaZuj0JqCJpSYr52mxQCLcBGAsYHQ/w640-h308/consolevirtualtables.png)](https://1.bp.blogspot.com/-ecCB9ahVsgo/YG39xbCRSsI/AAAAAAAAc9I/l77rszPIIiEk_fqaZuj0JqCJpSYr52mxQCLcBGAsYHQ/s2558/consolevirtualtables.png)
  

[![](https://1.bp.blogspot.com/-F2p32qx0UNo/YG39xxHIH6I/AAAAAAAAc9M/RP2e-jR95vAQR0tJQFWR1TERbdc3VrprgCLcBGAsYHQ/w640-h214/datasources.png)](https://1.bp.blogspot.com/-F2p32qx0UNo/YG39xxHIH6I/AAAAAAAAc9M/RP2e-jR95vAQR0tJQFWR1TERbdc3VrprgCLcBGAsYHQ/s3070/datasources.png)
  

[![](https://1.bp.blogspot.com/-Qb_d1hlFT_U/YG39yQ2QrKI/AAAAAAAAc9Q/MBKZIa0xC0Eq-SR2C2KXUu8Q5nAmM2KcgCLcBGAsYHQ/w640-h466/detectschema.png)](https://1.bp.blogspot.com/-Qb_d1hlFT_U/YG39yQ2QrKI/AAAAAAAAc9Q/MBKZIa0xC0Eq-SR2C2KXUu8Q5nAmM2KcgCLcBGAsYHQ/s1277/detectschema.png)
  

[![](https://1.bp.blogspot.com/-9f1ZmZ06s4s/YG39y4Bbw-I/AAAAAAAAc9U/PCZZZkxrdz0gPGF5HxhL3q9GKMUI4LdzgCLcBGAsYHQ/w640-h224/materializedview1.png)](https://1.bp.blogspot.com/-9f1ZmZ06s4s/YG39y4Bbw-I/AAAAAAAAc9U/PCZZZkxrdz0gPGF5HxhL3q9GKMUI4LdzgCLcBGAsYHQ/s2554/materializedview1.png)
  

[![](https://1.bp.blogspot.com/-LysJ6CKeuJE/YG39zfDlhlI/AAAAAAAAc9Y/lwnAL754pucWGnEaj_2X4s8u9kka3c8owCLcBGAsYHQ/w640-h230/materializedview2.png)](https://1.bp.blogspot.com/-LysJ6CKeuJE/YG39zfDlhlI/AAAAAAAAc9Y/lwnAL754pucWGnEaj_2X4s8u9kka3c8owCLcBGAsYHQ/s2522/materializedview2.png)
  

[![](https://1.bp.blogspot.com/-DD0p4cwLYnA/YG39z8j0XeI/AAAAAAAAc9c/o2k9I3bVhi4NBbAU29vKnDdjos9MErR9QCLcBGAsYHQ/w640-h294/materializedviewsandkeys.png)](https://1.bp.blogspot.com/-DD0p4cwLYnA/YG39z8j0XeI/AAAAAAAAc9c/o2k9I3bVhi4NBbAU29vKnDdjos9MErR9QCLcBGAsYHQ/s2616/materializedviewsandkeys.png)
  

[![](https://1.bp.blogspot.com/-swJCtcQPo40/YG390Ui_hcI/AAAAAAAAc9g/HvAWo5v7YWYPEyYaTH7J4TIuYQgi5ouDQCLcBGAsYHQ/w640-h310/sconsole.png)](https://1.bp.blogspot.com/-swJCtcQPo40/YG390Ui_hcI/AAAAAAAAc9g/HvAWo5v7YWYPEyYaTH7J4TIuYQgi5ouDQCLcBGAsYHQ/s2549/sconsole.png)
  

  

  

[![](https://1.bp.blogspot.com/-b6CrydBcLjo/YG391VWHQ0I/AAAAAAAAc9o/5m5WphxE3rYivLBtLsYn7T5RMMvZSljGACLcBGAsYHQ/w640-h342/ssbflinkdashboard.png)](https://1.bp.blogspot.com/-b6CrydBcLjo/YG391VWHQ0I/AAAAAAAAc9o/5m5WphxE3rYivLBtLsYn7T5RMMvZSljGACLcBGAsYHQ/s2048/ssbflinkdashboard.png)
  

[![](https://1.bp.blogspot.com/-GVd2bKWrbeI/YG3910OUBkI/AAAAAAAAc9s/JThJcA7wuBQhiANl3QSIxwzMI93C4kCIACLcBGAsYHQ/w640-h352/stockquery.png)](https://1.bp.blogspot.com/-GVd2bKWrbeI/YG3910OUBkI/AAAAAAAAc9s/JThJcA7wuBQhiANl3QSIxwzMI93C4kCIACLcBGAsYHQ/s2048/stockquery.png)
  

[![](https://1.bp.blogspot.com/-XwzsbvuEXZI/YG392WNH2wI/AAAAAAAAc9w/7YmrzJ-7xZkN9sabWB5Q4sAYhKC7ImF_wCLcBGAsYHQ/w640-h216/stockresults.png)](https://1.bp.blogspot.com/-XwzsbvuEXZI/YG392WNH2wI/AAAAAAAAc9w/7YmrzJ-7xZkN9sabWB5Q4sAYhKC7ImF_wCLcBGAsYHQ/s2685/stockresults.png)
  

[![](https://1.bp.blogspot.com/-jcry9mGsCss/YG3920HaDpI/AAAAAAAAc90/NxwQsehf_AUSP6K1Pys8APdev5_TS8iaACLcBGAsYHQ/w606-h640/addKafkaSourceTopic.png)](https://1.bp.blogspot.com/-jcry9mGsCss/YG3920HaDpI/AAAAAAAAc90/NxwQsehf_AUSP6K1Pys8APdev5_TS8iaACLcBGAsYHQ/s1770/addKafkaSourceTopic.png)
  

[![](https://1.bp.blogspot.com/-JsD2RigycaY/YG393Zh6BCI/AAAAAAAAc94/k6nrWsuML2wgPpLIuXUVM4Sgx1I8_KMswCLcBGAsYHQ/w640-h316/autogeneratedweathersql.png)](https://1.bp.blogspot.com/-JsD2RigycaY/YG393Zh6BCI/AAAAAAAAc94/k6nrWsuML2wgPpLIuXUVM4Sgx1I8_KMswCLcBGAsYHQ/s2204/autogeneratedweathersql.png)
  

[![](https://1.bp.blogspot.com/-VTj4PXtk3Uc/YG3936P0i5I/AAAAAAAAc98/Z2LZnDD61EMeSUyi86-if_oJnF7C1Dl8wCLcBGAsYHQ/w640-h616/buildwebhooksink.png)](https://1.bp.blogspot.com/-VTj4PXtk3Uc/YG3936P0i5I/AAAAAAAAc98/Z2LZnDD61EMeSUyi86-if_oJnF7C1Dl8wCLcBGAsYHQ/s1268/buildwebhooksink.png)
  

[![](https://1.bp.blogspot.com/-i3X4n50cFVg/YG394a0wTKI/AAAAAAAAc-A/qVXAp5JORKUEGl_eQdYSsJhxvKMiGvL7QCLcBGAsYHQ/w640-h342/consoleadvanced.png)](https://1.bp.blogspot.com/-i3X4n50cFVg/YG394a0wTKI/AAAAAAAAc-A/qVXAp5JORKUEGl_eQdYSsJhxvKMiGvL7QCLcBGAsYHQ/s2048/consoleadvanced.png)
  

[![](https://1.bp.blogspot.com/-C_m-_PHl0hM/YG3949n-G1I/AAAAAAAAc-E/MOR-v194VeAS0KUcc0HJggFpsBHjMiPPgCLcBGAsYHQ/s320/consolehelp.png)](https://1.bp.blogspot.com/-C_m-_PHl0hM/YG3949n-G1I/AAAAAAAAc-E/MOR-v194VeAS0KUcc0HJggFpsBHjMiPPgCLcBGAsYHQ/s2109/consolehelp.png)
  

[![](https://1.bp.blogspot.com/-RqDD3OWtAis/YG395eTNAyI/AAAAAAAAc-I/dPC3IKcIffsfVhoeId30MwN0AjtJs4ISACLcBGAsYHQ/w640-h240/consolelog.png)](https://1.bp.blogspot.com/-RqDD3OWtAis/YG395eTNAyI/AAAAAAAAc-I/dPC3IKcIffsfVhoeId30MwN0AjtJs4ISACLcBGAsYHQ/s2259/consolelog.png)
  

[![](https://1.bp.blogspot.com/-A5AaV7X1AYg/YG39546Q2iI/AAAAAAAAc-M/gbwn55hjE6Y351FY7KTmlysDHmh0pZXowCLcBGAsYHQ/w640-h166/consolequeryhistory.png)](https://1.bp.blogspot.com/-A5AaV7X1AYg/YG39546Q2iI/AAAAAAAAc-M/gbwn55hjE6Y351FY7KTmlysDHmh0pZXowCLcBGAsYHQ/s2264/consolequeryhistory.png)
  

[![](https://1.bp.blogspot.com/-XFk8hgDR4AU/YG396fBo8yI/AAAAAAAAc-Q/kmitlxLkQQw3h_mSIPH0qjzKYNwz1LYLACLcBGAsYHQ/w640-h584/createstocks2sink.png)](https://1.bp.blogspot.com/-XFk8hgDR4AU/YG396fBo8yI/AAAAAAAAc-Q/kmitlxLkQQw3h_mSIPH0qjzKYNwz1LYLACLcBGAsYHQ/s1280/createstocks2sink.png)
  

[![](https://1.bp.blogspot.com/-LPrzbRDbFEA/YG3966c-zyI/AAAAAAAAc-U/Tjcev41Hs3YRHaB7lFIcEFQgwEAve77ggCLcBGAsYHQ/w528-h640/customudf.png)](https://1.bp.blogspot.com/-LPrzbRDbFEA/YG3966c-zyI/AAAAAAAAc-U/Tjcev41Hs3YRHaB7lFIcEFQgwEAve77ggCLcBGAsYHQ/s1456/customudf.png)
  

[![](https://1.bp.blogspot.com/-tN4alyCiznA/YG397QInoKI/AAAAAAAAc-Y/-8dxdtT8o30DRlFvve6RELcDLMW3KQz1QCLcBGAsYHQ/w640-h282/flinkdashboard.png)](https://1.bp.blogspot.com/-tN4alyCiznA/YG397QInoKI/AAAAAAAAc-Y/-8dxdtT8o30DRlFvve6RELcDLMW3KQz1QCLcBGAsYHQ/s2543/flinkdashboard.png)
  

[![](https://1.bp.blogspot.com/-J_bIaz4UiiM/YG3974wCKSI/AAAAAAAAc-c/lNjIoXa9DoYlELBX4j43w0C3I8HP_xHtACLcBGAsYHQ/w640-h266/flinkdashboardrun.png)](https://1.bp.blogspot.com/-J_bIaz4UiiM/YG3974wCKSI/AAAAAAAAc-c/lNjIoXa9DoYlELBX4j43w0C3I8HP_xHtACLcBGAsYHQ/s2204/flinkdashboardrun.png)
  

[![](https://1.bp.blogspot.com/-OjTOGz151vg/YG398WjXShI/AAAAAAAAc-g/ilyLwyq2TAUwh1djHXgbswxGzlKb4kAdQCLcBGAsYHQ/w640-h384/flinksqlmetrics.png)](https://1.bp.blogspot.com/-OjTOGz151vg/YG398WjXShI/AAAAAAAAc-g/ilyLwyq2TAUwh1djHXgbswxGzlKb4kAdQCLcBGAsYHQ/s2048/flinksqlmetrics.png)
  

[![](https://1.bp.blogspot.com/-k99FfZ6MtRc/YG3988MEycI/AAAAAAAAc-k/6YK28onlEgAu55Ss49KOlkV4ZyuUtjyZwCLcBGAsYHQ/w640-h334/flinksqlqueryweather.png)](https://1.bp.blogspot.com/-k99FfZ6MtRc/YG3988MEycI/AAAAAAAAc-k/6YK28onlEgAu55Ss49KOlkV4ZyuUtjyZwCLcBGAsYHQ/s2048/flinksqlqueryweather.png)
  

[![](https://1.bp.blogspot.com/-Gea03rCXcx0/YG399e63mGI/AAAAAAAAc-o/iGOI98Gg1sEzA09gJ0horB8I3egCI_eEQCLcBGAsYHQ/w640-h312/jobproperties.png)](https://1.bp.blogspot.com/-Gea03rCXcx0/YG399e63mGI/AAAAAAAAc-o/iGOI98Gg1sEzA09gJ0horB8I3egCI_eEQCLcBGAsYHQ/s2244/jobproperties.png)
  

  

  

[![](https://1.bp.blogspot.com/-tmSwclX-0wg/YG39-eLgkiI/AAAAAAAAc-w/iPhDtyFOoxEHOEuNoFkra5zWLhDZ4RQ-ACLcBGAsYHQ/w640-h262/kafkatopicsmm.png)](https://1.bp.blogspot.com/-tmSwclX-0wg/YG39-eLgkiI/AAAAAAAAc-w/iPhDtyFOoxEHOEuNoFkra5zWLhDZ4RQ-ACLcBGAsYHQ/s2471/kafkatopicsmm.png)
  

[![](https://1.bp.blogspot.com/-SZLgCNV0QtM/YG39-4VqK3I/AAAAAAAAc-0/oCrGI6-hGX02YVEzhprQxO4nyoeOZegKQCLcBGAsYHQ/w640-h328/queryandsample.png)](https://1.bp.blogspot.com/-SZLgCNV0QtM/YG39-4VqK3I/AAAAAAAAc-0/oCrGI6-hGX02YVEzhprQxO4nyoeOZegKQCLcBGAsYHQ/s2048/queryandsample.png)
  

[![](https://1.bp.blogspot.com/-XlcKoIKm8NQ/YG39_eVZcXI/AAAAAAAAc-4/Pnn3wsQgD1sSrzcb7eY1IKfkKt80GplTACLcBGAsYHQ/w640-h334/runningweatherquery.png)](https://1.bp.blogspot.com/-XlcKoIKm8NQ/YG39_eVZcXI/AAAAAAAAc-4/Pnn3wsQgD1sSrzcb7eY1IKfkKt80GplTACLcBGAsYHQ/s2048/runningweatherquery.png)
  

[![](https://1.bp.blogspot.com/-DNGhOHAvQYA/YG39_zbPlTI/AAAAAAAAc-8/rk9AJz3KV_MdXpDXF4WOiMZcdJaMRKBpwCLcBGAsYHQ/w640-h340/runningweatherwithsamples.png)](https://1.bp.blogspot.com/-DNGhOHAvQYA/YG39_zbPlTI/AAAAAAAAc-8/rk9AJz3KV_MdXpDXF4WOiMZcdJaMRKBpwCLcBGAsYHQ/s2048/runningweatherwithsamples.png)
  

[![](https://1.bp.blogspot.com/-319IpL5-CJA/YG3-AUbQJKI/AAAAAAAAc_A/uMO-gUpYO6ISpRZXOWhk-3LI4azs_veOwCLcBGAsYHQ/w640-h214/sinkvirtualtables.png)](https://1.bp.blogspot.com/-319IpL5-CJA/YG3-AUbQJKI/AAAAAAAAc_A/uMO-gUpYO6ISpRZXOWhk-3LI4azs_veOwCLcBGAsYHQ/s2283/sinkvirtualtables.png)
  

[![](https://1.bp.blogspot.com/-rn5yfWGlKlI/YG3-A0TIEzI/AAAAAAAAc_E/kwtO9FYpwe8y5ajOpyZAZK7fYa4nh4r7QCLcBGAsYHQ/w640-h200/smmWeather.png)](https://1.bp.blogspot.com/-rn5yfWGlKlI/YG3-A0TIEzI/AAAAAAAAc_E/kwtO9FYpwe8y5ajOpyZAZK7fYa4nh4r7QCLcBGAsYHQ/s2493/smmWeather.png)
  

[![](https://1.bp.blogspot.com/-ykxIFHm4ke8/YG3-BclPrWI/AAAAAAAAc_I/wzNtY1ab7AsC3ja1SYUbrc9sPExVRiVDQCLcBGAsYHQ/w640-h418/sqlconsoleeventTimeStamp.png)](https://1.bp.blogspot.com/-ykxIFHm4ke8/YG3-BclPrWI/AAAAAAAAc_I/wzNtY1ab7AsC3ja1SYUbrc9sPExVRiVDQCLcBGAsYHQ/s1772/sqlconsoleeventTimeStamp.png)
  

[![](https://1.bp.blogspot.com/-5wygHDLRggw/YG3-B6GeR3I/AAAAAAAAc_M/DaoGJqK3eBMTh8MKFULvNCi5TmNyzcLQACLcBGAsYHQ/w640-h416/sqlstreambuildercm.png)](https://1.bp.blogspot.com/-5wygHDLRggw/YG3-B6GeR3I/AAAAAAAAc_M/DaoGJqK3eBMTh8MKFULvNCi5TmNyzcLQACLcBGAsYHQ/s1100/sqlstreambuildercm.png)
  

[![](https://1.bp.blogspot.com/-5gn85DtiFBA/YG3-CbqZ9GI/AAAAAAAAc_Q/9qIXywOTjRYREBLB4BxyVWdqKElMVuZVwCLcBGAsYHQ/w640-h262/ssb_outputkafka.png)](https://1.bp.blogspot.com/-5gn85DtiFBA/YG3-CbqZ9GI/AAAAAAAAc_Q/9qIXywOTjRYREBLB4BxyVWdqKElMVuZVwCLcBGAsYHQ/s2445/ssb_outputkafka.png)
  

[![](https://1.bp.blogspot.com/-bAsgpQXVkE8/YG3-CwsSsdI/AAAAAAAAc_U/DUaU5hUuwIU0m2JVB0m0-Aynryw7n8FCgCLcBGAsYHQ/w618-h640/ssb_rest.png)](https://1.bp.blogspot.com/-bAsgpQXVkE8/YG3-CwsSsdI/AAAAAAAAc_U/DUaU5hUuwIU0m2JVB0m0-Aynryw7n8FCgCLcBGAsYHQ/s1447/ssb_rest.png)
  

[![](https://1.bp.blogspot.com/-Y9AiiMUFUdc/YG3-DZuGo8I/AAAAAAAAc_Y/CLVVcZQ7kfsFT3eEuCSn8Mr7T8oqYw8IQCLcBGAsYHQ/w640-h274/ssbjoboverview.png)](https://1.bp.blogspot.com/-Y9AiiMUFUdc/YG3-DZuGo8I/AAAAAAAAc_Y/CLVVcZQ7kfsFT3eEuCSn8Mr7T8oqYw8IQCLcBGAsYHQ/s2538/ssbjoboverview.png)
  

  

  

[![](https://1.bp.blogspot.com/-UDGLSHFWIxY/YG3-EYDpHvI/AAAAAAAAc_g/sQN79JE619IjlR0A2t7iETF_gbs_TXryACLcBGAsYHQ/w640-h468/stocksrawsource.png)](https://1.bp.blogspot.com/-UDGLSHFWIxY/YG3-EYDpHvI/AAAAAAAAc_g/sQN79JE619IjlR0A2t7iETF_gbs_TXryACLcBGAsYHQ/s1278/stocksrawsource.png)
  

[![](https://1.bp.blogspot.com/-aSkhhjIY1N8/YG3-EwU-eDI/AAAAAAAAc_k/z7-nI49kfMg2QiuuRJk34tOUZorCAazwQCLcBGAsYHQ/w640-h332/stocksrawtostocks2.png)](https://1.bp.blogspot.com/-aSkhhjIY1N8/YG3-EwU-eDI/AAAAAAAAc_k/z7-nI49kfMg2QiuuRJk34tOUZorCAazwQCLcBGAsYHQ/s1826/stocksrawtostocks2.png)
  

[![](https://1.bp.blogspot.com/-ogmfItjI1CQ/YG3-FgPfHDI/AAAAAAAAc_o/Cc0i3qpTNawrqzp-P_5S7N1OZinGoJ7LQCLcBGAsYHQ/w640-h344/streamingjobdetails.png)](https://1.bp.blogspot.com/-ogmfItjI1CQ/YG3-FgPfHDI/AAAAAAAAc_o/Cc0i3qpTNawrqzp-P_5S7N1OZinGoJ7LQCLcBGAsYHQ/s2048/streamingjobdetails.png)
  

[![](https://1.bp.blogspot.com/-dS9_Bb--iBU/YG3-F5oIQUI/AAAAAAAAc_s/NQ0rwA9JkDMK9qxIi0hXG_mOdfLwfJcAwCLcBGAsYHQ/w640-h318/streamingsql.png)](https://1.bp.blogspot.com/-dS9_Bb--iBU/YG3-F5oIQUI/AAAAAAAAc_s/NQ0rwA9JkDMK9qxIi0hXG_mOdfLwfJcAwCLcBGAsYHQ/s2508/streamingsql.png)
  

[![](https://1.bp.blogspot.com/-5vaGfc7mn1I/YG3-GWAL9iI/AAAAAAAAc_w/D7R6uKg4kdQnL7Uwd56xOOhMxCZ2qWf4wCLcBGAsYHQ/w640-h224/virtualtables.png)](https://1.bp.blogspot.com/-5vaGfc7mn1I/YG3-GWAL9iI/AAAAAAAAc_w/D7R6uKg4kdQnL7Uwd56xOOhMxCZ2qWf4wCLcBGAsYHQ/s2544/virtualtables.png)
  

[![](https://1.bp.blogspot.com/-YyynjMGW6JQ/YG3-G42tDnI/AAAAAAAAc_0/uVE_I8Wv24UBGcU4trR60JKstofddb-sACLcBGAsYHQ/w640-h296/weatherFlinkMonitor.png)](https://1.bp.blogspot.com/-YyynjMGW6JQ/YG3-G42tDnI/AAAAAAAAc_0/uVE_I8Wv24UBGcU4trR60JKstofddb-sACLcBGAsYHQ/s2198/weatherFlinkMonitor.png)
  

[![](https://1.bp.blogspot.com/-5GRqAm4jyGc/YG3-HU61d0I/AAAAAAAAc_4/wo2LYqoyIp44Jd5gZIlN7dc2kjDDivHpgCLcBGAsYHQ/w640-h622/weatherwebhook.png)](https://1.bp.blogspot.com/-5GRqAm4jyGc/YG3-HU61d0I/AAAAAAAAc_4/wo2LYqoyIp44Jd5gZIlN7dc2kjDDivHpgCLcBGAsYHQ/s1253/weatherwebhook.png)
  

[![](https://1.bp.blogspot.com/-KPUGrc6fkiY/YG3-HxFeQ3I/AAAAAAAAc_8/UbxSvvNkncUj0zIkNYDpI4QZ91-3YwrBQCLcBGAsYHQ/w640-h608/webhookSink.png)](https://1.bp.blogspot.com/-KPUGrc6fkiY/YG3-HxFeQ3I/AAAAAAAAc_8/UbxSvvNkncUj0zIkNYDpI4QZ91-3YwrBQCLcBGAsYHQ/s1258/webhookSink.png)