Learn By Example : Apache Storm

بواسطة: Udemy

Overview

25 Solved examples on Real Time Stream Processing

What you'll learn:
  • Build a Storm Topology for processing data
  • Manage reliability and fault tolerance of the topology
  • Control parallelism using different grouping strategies
  • Perform complex transformations using Trident
  • Apply Machine Learning algorithms on the fly in Storm applications

Storm is to real-time stream processing what Hadoop is to batch processing. Using Storm you can build applications which need you to be highly responsive to the latest data and react within seconds and minutes,such as finding the latest trending topics on twitter, or monitoring spikes in payment gateway failures. From simple data transformations to applying machine learning algorithms on the fly, Storm can do it all.

This course has 25 Solved Examples on buildingStorm Applications.

What's covered?

1)UnderstandingSpoutsandBoltswhich are the building blocks of every Storm topology.

2)Runninga Storm topology in thelocal modeand in theremote mode

3)Parallelizingdata processing within a topology using different grouping strategies: Shuffle grouping, fields grouping, Direct grouping, All grouping, Custom Grouping

4) Managingreliability and fault-tolerancewithin Spouts and Bolts

5)Performingcomplex transformations on the flyusing theTrident topology : Map, Filter, Windowing and Partitioning operations

6)Applying ML algorithms on the fly using libraries likeTrident-ML and Storm-R.

Taught by

Loony Corn

Learn By Example : Apache Storm
الذهاب الي الدورة

Learn By Example : Apache Storm

بواسطة: Udemy

  • Udemy
  • مدفوعة
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • beginner
  • English
8.1.2PHP Version1.06sRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (707ms)
    • Application (353ms)
    • 1 x Booting (66.52%)
      706.53ms
      1 x Application (33.24%)
      353.06ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed12.24ms
      • select * from `courses` where `slug_ar` = 'learn-by-example-:-apache-storm' limit 1
        10.83ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. learn-by-example-:-apache-storm
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-17 11:32:50' where `id` = 4250
        330μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-17 11:32:50
        • 1. 4250
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (131)
        280μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        280μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (51) and `providers`.`deleted_at` is null
        270μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 4241 limit 1
        250μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 4241
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        W5BOteHFcvkh3duefNb7U6TdPm5ECLdSiaZTYIr5
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/learn-...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/learn-by-example-:-apache-storm
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.170" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.170" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "95123a7f8a2f8728-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.170" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.170" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "95123a7f8a2f8728-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "62058" "REMOTE_ADDR" => "172.70.131.110" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/learn-by-example-:-apache-storm" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1750159969.4836 "REQUEST_TIME" => 1750159969 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Tue, 17 Jun 2025 11:32:50 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkpPdWRhZWdxRk5mV0tTdFdrYmNFK0E9PSIsInZhbHVlIjoiOTd6bWEySWJhaHVPcGR6TTN1UVdadXBHTG1laDB6RUx6cDNzaG1aOWc5dURWUDZ6amhTQjVWSWRLOTdCU0xIVjBicTRaZGg0b3ZnR3ZoQ2xMSWNiRWNNNGluMlRXalk4R1h5N0JUOTRvTHQvOTRTUXVodnRBSHlRbFNrb0JzZ0QiLCJtYWMiOiIxMDJjOGNjZmJkMzAzMDYyYzVjMzAxODRkYTBkMTMyNDBlNThjZDgwMDQ3NjJmMmNmOWU4MTk0ZmZjNjIxMzljIiwidGFnIjoiIn0%3D; expires=Tue, 17 Jun 2025 13:32:50 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkpPdWRhZWdxRk5mV0tTdFdrYmNFK0E9PSIsInZhbHVlIjoiOTd6bWEySWJhaHVPcGR6TTN1UVdadXBHTG1laDB6RUx6cDNzaG1aOWc5dURWUDZ6amhTQjVWSWRLOTdCU0xIVjBicTRaZ" 1 => "laravel_session=eyJpdiI6Ijd1Rk9NamF3ZE55R1l4VVI0WERRTUE9PSIsInZhbHVlIjoiNEZsdEdGZHJTSkZBaCszNG9rMW4raVVtZzhtaHBxbmlPVy9OREZnZzVUY0E2V25pYzFxYm1zTnNpTkliZVJaVS9MOE0xaG5SbVlVMnVBRFpzOGp6R0tvSjUxMCtIWGFidkhFWXhDWjhTN0VHRk5tQ0dNOXQ1WDFPcW1yOFc1aE0iLCJtYWMiOiIxMjRkYzczODI0OTQxZWZjMzZlNWIxOTVkMGZjODMxZWZkYjRmMGUzNGE4ZWNjY2I2YzYxOTg0ZjFkMWM5MDhkIiwidGFnIjoiIn0%3D; expires=Tue, 17 Jun 2025 13:32:50 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6Ijd1Rk9NamF3ZE55R1l4VVI0WERRTUE9PSIsInZhbHVlIjoiNEZsdEdGZHJTSkZBaCszNG9rMW4raVVtZzhtaHBxbmlPVy9OREZnZzVUY0E2V25pYzFxYm1zTnNpTkliZVJaVS9M" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkpPdWRhZWdxRk5mV0tTdFdrYmNFK0E9PSIsInZhbHVlIjoiOTd6bWEySWJhaHVPcGR6TTN1UVdadXBHTG1laDB6RUx6cDNzaG1aOWc5dURWUDZ6amhTQjVWSWRLOTdCU0xIVjBicTRaZGg0b3ZnR3ZoQ2xMSWNiRWNNNGluMlRXalk4R1h5N0JUOTRvTHQvOTRTUXVodnRBSHlRbFNrb0JzZ0QiLCJtYWMiOiIxMDJjOGNjZmJkMzAzMDYyYzVjMzAxODRkYTBkMTMyNDBlNThjZDgwMDQ3NjJmMmNmOWU4MTk0ZmZjNjIxMzljIiwidGFnIjoiIn0%3D; expires=Tue, 17-Jun-2025 13:32:50 GMT; path=/XSRF-TOKEN=eyJpdiI6IkpPdWRhZWdxRk5mV0tTdFdrYmNFK0E9PSIsInZhbHVlIjoiOTd6bWEySWJhaHVPcGR6TTN1UVdadXBHTG1laDB6RUx6cDNzaG1aOWc5dURWUDZ6amhTQjVWSWRLOTdCU0xIVjBicTRaZ" 1 => "laravel_session=eyJpdiI6Ijd1Rk9NamF3ZE55R1l4VVI0WERRTUE9PSIsInZhbHVlIjoiNEZsdEdGZHJTSkZBaCszNG9rMW4raVVtZzhtaHBxbmlPVy9OREZnZzVUY0E2V25pYzFxYm1zTnNpTkliZVJaVS9MOE0xaG5SbVlVMnVBRFpzOGp6R0tvSjUxMCtIWGFidkhFWXhDWjhTN0VHRk5tQ0dNOXQ1WDFPcW1yOFc1aE0iLCJtYWMiOiIxMjRkYzczODI0OTQxZWZjMzZlNWIxOTVkMGZjODMxZWZkYjRmMGUzNGE4ZWNjY2I2YzYxOTg0ZjFkMWM5MDhkIiwidGFnIjoiIn0%3D; expires=Tue, 17-Jun-2025 13:32:50 GMT; path=/; httponlylaravel_session=eyJpdiI6Ijd1Rk9NamF3ZE55R1l4VVI0WERRTUE9PSIsInZhbHVlIjoiNEZsdEdGZHJTSkZBaCszNG9rMW4raVVtZzhtaHBxbmlPVy9OREZnZzVUY0E2V25pYzFxYm1zTnNpTkliZVJaVS9M" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "W5BOteHFcvkh3duefNb7U6TdPm5ECLdSiaZTYIr5" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/learn-by-example-:-apache-storm" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]