

Beschreibung
Gain the key language concepts and programming techniques of Scala in the context of big data analytics and Apache Spark. The book begins by introducing you to Scala and establishes a firm contextual understanding of why you should learn this language, how it...Gain the key language concepts and programming techniques of Scala in the context of big data analytics and Apache Spark. The book begins by introducing you to Scala and establishes a firm contextual understanding of why you should learn this language, how it stands in comparison to Java, and how Scala is related to Apache Spark for big data analytics. Next, you'll set up the Scala environment ready for examining your first Scala programs. You'll start with code blocks that allow you to group and execute related statements together as a block and see the implications for Scala's type system. The author discusses functions at length and highlights a number of associated concepts such as zero-parity functions, single-line functions, and anonymous functions. Along the way you'll see the development life cycle of a Scala program. This involves compiling and building programs using the industry-standard Scala Build Tool (SBT). You'll cover guidelinesrelated to dependency management using SBT as this is critical for building large Apache Spark applications. Scala Programming for Big Data Analytics concludes by demonstrating how you can make use of the concepts to write programs that run on the Apache Spark framework. These programs will provide distributed and parallel computing, which is critical for big data analytics. You will:
Employ functional programming constructs
Autorentext
Irfan Elahi is a senior consultant in Deloitte Australia specializing in big data and machine learning. His primary focus lies in using big data and machine learning to support business growth with multifaceted and strong ties to the telecommunications, energy, retail and media industries. He has worked on a number of projects in Australia to design, prototype, develop, and deploy production-grade big data solutions in Amazon Web Services (AWS) and Azure to support a number of use-cases ranging from enterprise data warehousing, ETL offloading, analytics, batch processing and stream processing while employing leading commercial Hadoop solutions such as Cloudera and Hortonworks. He has worked closely with clients' systems and software engineering teams using DevOps to enhance the continuous integration and continuous deployment (CICD) processes and manage a Hadoop cluster's operations and security.
In addition to his technology competencies, Irfan has recently presented at the DataWorks Summit in Sydney on the subject of in-memory big data technologies and in a number of meetups all around the world. He also remains involved delivering knowledge-transfer sessions, training and workshops about big data and machine learning, both within his firm and at clients. He also has launched Udemy courses on Apache Spark for big data analytics and R programming for data science with more than 18,000 students from 145 countries enrolled.
Inhalt
• Chapter 1 - Scala Languageo Introductiono Getting to know Scalao Why learn Scalao Scala and Javao Interoperability with Java Librarieso Verbosity - Scala and Javao Scala - A statically typed languageo Apache Spark and Scalao Scala performance benefitso Learning Apache Spark
• Chapter 2 - Installing Scalao Introductiono Checking Scala installation status in your systemo Verifying Java development kit (JDK) installation statuso Installing Scala in Windowso Verifying Scala installation statuso Exercise
• Chapter 3 - Using Scala Shello Introductiono Getting help in Scala shello Hello world in Scala REPLo Understanding hello world in Scala REPL step by stepo Real life example: Usefulness of Scala REPL's data type highlighting featureo Paste mode in Scala REPLo Retrieving history in Scala REPLo Auto-completion feature of Scala REPLo Exiting from Scala REPLo Exercise
• Chapter 4 - Variableso Introductiono Immutability of objects in Scalao Defining variables (Mutable and Immutable) in Scalao Why Immutability Is so emphasized in Scala?o Mutability and type-safety caveatso Specifying types for variables and type inferenceo Exercise
• Chapter 5 - Data Typeso Introductiono Exercise - Data typeso Boolean typeo Exercises - Boolean typeo String typeo Exercise - string typeso Special types in Scalao Type casting in Scalao Exercise - special types
• Chapter 6 - Conditional Statementso Introductiono Caveats - Using {} after if/elseo Nested If-else statementso If else as ternary operatoro Pattern matchingo Exercise
• Chapter 7 - Code Blockso Introductiono Caveats - Code Blockso Code Blocks and if/else statementso Exercise
• Chapter 8 - Functionso Introductiono Why use Functions at all?o Intuitive understanding of Functionso Invoking a Functiono Caveats - Function definitiono Functions With multiple parameterso Positional parameterso Default value of parameters in Functionso Function with no arguments aka 0 Parityo Single line functionso When To actually use return statementso Passing function as argumentso Anonymous Functions
• Chapter 9 - Scala collectionso Introductiono Real life and intuitive examples of collectionso Listso Indexing list elementso What can you store in lists?o Widely used lists operationso Iterating over listo Using Map Function for iterating over listso Getting to know Functional Programming conceptso Using foreach on listso Using filter on listso Reduce operation on listso List equality checko Alternative ways to create listso Exercise - listso Setso Map collectionso Indexing a mapo Alternative ways lo create map collectionso Manipulating mapso Iterating through Maps in Functional Styleo Tuples&l...
