Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Learning Path: SMACK: Getting Started with the SMACK Stack
Rating: 3.4 out of 5(15 ratings)
138 students

Learning Path: SMACK: Getting Started with the SMACK Stack

Build scalable and efficient data processing platforms
Last updated 9/2017
English

What you'll learn

  • Basic concepts of Scala
  • Analysing data using Spark in Scala
  • Creation of fast data processing using SMACK Stack

Course content

3 sections73 lectures10h 53m total length
  • Course Overview3:44

    This video provides an overview of the entire course.

  • Spark Introduction4:53

    What are the origins of Apache Spark and what are its uses?

  • Spark Components6:02

    What are the various components in Apache Spark?

  • Getting Started10:41

    This video gets us familiar with the tools used in Apache spark.

  • Introduction to Hadoop6:49

    This video explains the complete historical journey of project Nutch to Apache Hadoop—how the project Hadoop was started, what were the research papers that influenced the Spark project, and so on. In the end, various goals achieved by developing Hadoop are explained.

  • Hadoop Processes and Components7:24

    In this video, we are going to look at the Apache Hadoop background running JVM processes—name node, data node, resource manager, and node manager. It also provides an overview of Hadoop components—HDFS, YARN, and Map Reduce programming mode.

  • HDFS and YARN7:10

    This video shares more details about Hadoop components Hadoop distributed filesystem—Goals, HDFS components, and the working of HDFS. It also explains another Hadoop component YARN—components, lifecycle, and its use cases.

  • Map Reduce6:47

    This video provides an overview of Map Reduce—the Hadoop programming model and its execution behavior at various stages.

  • Introduction to Scala7:16

    The aim of this video is to introduce the Scala language and its features, and by the end of this video, you should be able to get started with Scala.

  • Scala Programming Fundamentals7:42

    The aim of this video is to explain the fundamentals of Scala Programming, such as Scala classes, fields, methods, and the different types of arguments, such as default and named arguments passed to class constructors and methods.

  • Objects in Scala6:22

    The aim of this video is to explain the objects in Scala language, singleton object in Scala, and outline the usages of objects in Scala applications. It also describes companion objects.

  • Collections8:36

    The aim of this video is to explain the structure of the Scala collections hierarchy. Look at the examples of different collection types, such as Array, Set, and Map. It also covers how to apply functions to data in collections and outlines the basics of structural sharing.

  • Spark Execution7:39

    The aim of this video is to start your learning of Apache Spark fundamentals. It introduces you to the Spark component architecture and how different components are stitched together for Spark execution.

  • Understanding RDD7:06

    The aim of this video is to take the first step towards Spark programming. It explains the Spark Context and also shares the need of Resilient Distributed Datasets called RDD. It also explains the execution approach change in Map Reduce due to RDD.

  • RDD Operations9:06

    The aim of this video is to explain the operations that can be applied on RDDs. These operations are in the form of transformations and actions. It explains various operations under both the categories with examples.

  • Loading and Saving Data in Spark10:15

    The aim of this video is to explain and demonstrate data loading and storing in Spark from different file types; such as text, CSV, JSON file, and sequence file; different filesystems, such as local filesystem, Amazon S3, and HDFS; and different databases, such as My SQL, Postgres, HBase, and so on.

  • Managing Key-Value Pairs6:56

    The aim of this video is to explain the motivations behind key-value-based RDD and the creation of such RDDs. Next, it explains the various transformations and actions that can be applied on key-value-based RDD. Finally, it explains data partitioning techniques in Spark.

  • Accumulators6:56

    The aim of this video is to explain a few more advance concepts, such as accumulators, broadcast variables, and passing data to external programs using pipes.

  • Writing a Spark Application6:46

    The aim of this video is to demonstrate the writing of Spark jobs using Eclipse-based Scala IDE, creating Spark job JAR files, and, finally, copying and executing the Spark job on Hadoop cluster.

  • Test Your Knowledge

Requirements

  • Experience with Scala is essential
  • Basic knowledge of data processing concepts

Description

If you want to outrun your competitors by taking business decisions using your data, then this course is for you. 

SMACK is an open source full stack for big data architecture. It is a combination of Spark, Mesos, Akka, Cassandra, and Kafka. This stack is the newest technique developers have begun to use to tackle critical real-time analytics for big data. 

SMACK: Getting Started with Scala, Spark, and the SMACK Stack gets you familiar with Scala and understanding the various features offered by it. You will also get to understand the process for data analysis using Spark. Finally, you will be introduced to the SMACK Stack which helps us to process data blazingly fast. Development using these technologies can be summarized as: More data: Less Time. 

This Learning Path is a learner material and the curriculum is so planned to meet your learning needs. It starts with the basics of Apache Spark, one of the trending big data processing frameworks on the market today.  We it moves on to Scala, which has emerged as an important tool for performing various data analysis tasks efficiently. It will help you leverage popular Scala libraries and tools to perform core data analysis tasks with ease in Spark. In the last part, we will teach you how to integrate the SMACK stack to create a highly efficient data analysis system for fast data processing.

By the end of the course, you’ll be able to analyze and process data swiftly and efficiently as compared to other traditional data analytic systems.

About the Author:

For this course, we have combined the best works of this esteemed author:

 Nishant Garg has over 16 years of software architecture and development experience in various technologies, such as Java Enterprise Edition, SOA, Spring, Hadoop, Hive, Flume, Sqoop, Oozie, Spark, YARN, Impala, Kafka, Storm, Solr/Lucene, NoSQL databases (such as HBase, Cassandra, and MongoDB), and MPP databases (such as GreenPlum). He received his MS in software systems from the Birla Institute of Technology and Science, Pilani, India, and is currently working as a senior technical architect for the Big Data R&D Labs with Impetus Infotech Pvt. Ltd. Nishant has also undertaken many speaking engagements on big data technologies and is also the author of Learning Apache Kafka & HBase Essestials, Packt Publishing.

Anatolii Kmetiuk has been working with Scala-based technologies for four years. He has experience in Deep Learning models for text processing. He is interested in Category Theory and Type-level programming in Scala. Another field of interest is Chaos and Complexity Theory and Artificial Life, and ways to implement them in programming languages. 

Raúl Estrada Aparicio is a programmer since 1996 and Java Developer since 2001. He loves functional languages such as Scala, Elixir, Clojure, and Haskell. He also loves all the topics related to Computer Science. With more than 12 years of experience in High Availability and Enterprise Software, he has designed and implemented architectures since 2003.His specialization is in systems integration and has participated in projects mainly related to the financial sector. He has been an enterprise architect for BEA Systems and Oracle Inc., but he also enjoys Mobile Programming and Game Development. He considers himself a programmer before an architect, engineer, or developer.

Who this course is for:

  • Data Analysts, Data Scientists, and Business Analysts can use this course to make highly precise and fast data models.