0% found this document useful (0 votes)
20 views23 pages

Big Data Technologies (Spark & Scala) (22CSH-391) Lecture-1 (CO1)

The document outlines a course on Big Data Technologies focusing on Spark and Scala, presented by Dr. Geeta Rani at Chandigarh University. It covers the components of the Hadoop Ecosystem, Scala programming language features, and its application in data science, emphasizing its advantages over Java. Additionally, it lists relevant books and resources for further learning in this field.

Uploaded by

manudev8924
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views23 pages

Big Data Technologies (Spark & Scala) (22CSH-391) Lecture-1 (CO1)

The document outlines a course on Big Data Technologies focusing on Spark and Scala, presented by Dr. Geeta Rani at Chandigarh University. It covers the components of the Hadoop Ecosystem, Scala programming language features, and its application in data science, emphasizing its advantages over Java. Additionally, it lists relevant books and resources for further learning in this field.

Uploaded by

manudev8924
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 23

APEX INSTITUTE OF TECHNOLOGY.

AIT-IBM CSE
CHANDIGARH UNIVERSITY, MOHALI

Big Data Technologies (Spark & Scala)


(22CSH-391)
Lecture-1 (CO1)
By
Dr Geeta Rani (E15227)
Associate Professor (Chandigarh University)
Course Outcomes

C • Understand the components of the Hadoop Ecosystem and Data


O Science methodology
1
• Understand the constructs of Scala
C
O2
• Understand Apache Spark and its components
C
O3
• Design the applications using Scala
C
O4
• Develop the Applications using Spark and its available Libraries
C
O5
Scala Overview

3
What is Scala?

• Well, Scala is a programming language invented by Mr.


Martin Odersky and his research team in the year
2003.

• Scala is a compiler based and a multi-paradigm


programming language which is compact, fast and
efficient. The major advantage of Scala is the JVM
(Java Virtual Machine). Scala code is first compiled by
a Scala compiler and the byte code for the same is
generated, which will be then transferred to the Java
Virtual Machine to generate the output.
What is Scala?

•Scala is a strong statically typed high-level general-purpose


programming language that supports both object-oriented
programming and functional programming.
•Designed to be concise, many of Scala's design decisions are
aimed to address criticisms of Java.
Why we need Scala?
Why we need Scala?

•Scala is capable of working with the data which is stored in a


Distributed fashion. It accesses all the available resources and
supports parallel data processing.
•Scala supports Immutable data and supports the higher-order
functions.
•Scala is an upgraded version of Java that was designed to
eliminate unnecessary code. It supports multiple Libraries and
APIs which will allow the programmer to achieve Less Down
Time.
•Scala supports multiple type Constructs which enables the
programmer to work with wrappers/container types with ease.
Features of Scala

• Object-oriented Programing Language:


• Scala is both a functional Programming Language and an object-
oriented programming Language. Every variable and value which is
used in Scala is implicitly saved as an object by default.
• Extensible Programming Language:
• Scala can support multiple language constructs without the need of
any Domain Specific Language (DSL)Extensions, Libraries, and APIs.
• Statically Typed Programming Language:
• Scala binds the Datatype to the variable in its entire scope.
• Functional Programming Language:
• Scala provides a lightweight syntax for defining functions, it supports
higher-order functions, it allows functions to be nested.
• Interoperability:
• Scala compiles the code using scala compiler and converts code into
Java Byte Code and Executes it on JVM.
Features of Scala
Frameworks of Scala
Frameworks of Scala

• Akka is a toolkit on runtime for building highly concurrent,


distributed, and fault-tolerant applications on the JVM. Akka is
written in Scala, with language bindings provided for both Scala and
Java.
• Spark Framework is designed to handle, and process big-data and it
solely supports Scala.
• Play framework is designed to create web applications and it uses
Scala in the process in order to obtain the best in class performance.
• Scalding is a domain-specific language (DSL)in the
Scala programming language, which integrates Cascading. It is a
functional programming paradigm used in Scala which is much
closer than Java to the original model for MapReduce functions.
• Neo4j is a java spring framework supported by Scala with domain-
specific functionality, analytical capabilities, graph algorithms, and
How is Scala efficient for data science?

•Scala allows interaction between distributed databases and


empowers parallel data processing to reduce time.
•The language is known for big data processing and containing
large data into scalable volumes to make decisions.
•Scala was introduced as a modification of Java. This means that
it also supports Java’s API and libraries, which is beneficial for
developers with a Java background.
•Most of the database is in immutable format and Scala has
higher-order functions to deal with this data just like in Python.
•A vast majority of constructs in Scala simplify interactions with
wrapper classes and container types.
Why should you use Scala?

Object-oriented programming
•Everything in the language can be defined in objects and classes.
•Inheritance, Escalation(a rapid increase), and Polymorphism are
features of OOP in Scala.
•It’s useful for performing flexible composition operations by
expanding classes as a substitute for multiple inheritances.
Functional programing language

Scala supports higher-order functions and comprises easy-to-remember
syntax for defining functions.
•It provides nested functions, and classes to group algebraic operations and
currying (Currying is a technique or a process for modifying a function in
Scala. This function converts several parameters into a single argument
function. Curried functions have multiple parameter lists. It is widely used
in a wide range of functional languages.).
Currying Function
Implicit conversions and parameters
Books
• Sr No Title of the Book Author Name Volume/Edition Publish
Hours Years
• 1 The Art of Data Science Roger Peng 3rd lulu.com 2016
• 2 Scala CookBook Alvin Alexander 2 nd Edition O'reilly 2008

• Reference Books

• Sr No Title of the Book Author Name Volume/Edition Publish


Hours Years
• 1 Scala CookBook Alvin Alexander 4th O'reilly 2014
Books
• E. Siegel, “Predictive Analytics: The Power to Predict Who Will Click,
Buy, Lie, or Die ". John Wiley & Sons, Inc, 2013.

• P. Simon, ," Too Big to Ignore: The Business Case for Big Data”, Wiley
India, 2013

• J. W. Foreman, " Data Smart: Using Data Science to Transform


information into Insight,", Addison-Wesley

OTHER LINKS
• https://developer.ibm.com/predictiveanalytics/videos/category/tutori
als/
• https://www.edureka.co/blog/what-is-scala/
• https://www.ibm.com/developerworks/library/ba-predictive-analytics
1/index.html

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy