Programming Spark With Scala

Programming Spark With Scala

This class introduces both Scala and Spark through a series of examples written in Scala. In-class exercises will involve enhancing those examples. Spark is written in Scala and Scala provides the cleanest most-comprehensive interface to Spark. Scala is a modern typed programming language with a concise syntax. Spark is a high performance computation framework for big data.

Scala topics will introduce object-oriented, functional, and distributed computation. Other topics include pattern matching and Scala immutable collections and their map-reduce operations. Spark topics will introduce basic map-reduce, dataframes (for Sql and Json), machine learning, graphx (graph processing) and near real-time streaming.

No prior knowledge of either Scala or Spark is assumed. Ability to program is required. Some exposure to functional programming, map-reduce and/or Hadoop is useful but not required.

Coffee, light snacks and box lunch from Delicatus will be provided with your course fee.

About the Instructor

John Nestor is a Senior Software Architect and Trainer at 47 Degrees. After earning degrees at both Boston University and MIT, John went on to teach computer science at both BU and CMU. He both founded and manages the Seattle Scala Meetup and is also a member of IFIP Working Group 2.4 on system software. His accomplishments include writing a number of open-source Scala systems including a high-performance Json library, a no-sql database, and a framework for high-performance backend services. His primary interests include programming language design and implementation, software development tools, scalability, big data, and security. Prior to joining 47 Degrees, John led the Scala engineering efforts as a Senior Architect with Whitepages.

Want to train your entire team? Contact us to see about a group discount or customized training for your organization.

blog comments powered by Disqus

Ensure the success of your project

47 Degrees can work with you to help manage the risks of technology evolution, develop a team of top-tier engaged developers, improve productivity, lower maintenance cost, increase hardware utilization, and improve product quality; all while using the best technologies.