Developing with Spark for Big Data
Developing with Spark for Big Data Course Details:
Apache Spark is an important component in the Hadoop Ecosystem as a cluster computing engine used for Big Data. Building on top of the Hadoop YARN and HDFS ecosystem, Spark offers faster in-memory processing for computing tasks when compared to Map/Reduce. It can be programmed in Java, Scala, Python, and R along with SQL-based front-ends.
With advanced libraries like Mahout and MLib for Machine Learning, GraphX, or Neo4J for rich data graph processing, as well as access to other NoSQL data stores, Rule engines, and components, Spark is a lynchpin in modern Big Data and Data Science computing.
This course introduces you to enterprise-grade Spark programming and the components to craft complete data science solutions. You’ll learn core big data and Spark development techniques and industry practices. This course is offered in Java, and with some alterations, Python, Scala, and R.
Call (919) 283-1674 to get a class scheduled online or in your area!
Spark Overview
- Hadoop Ecosystem
- Hadoop YARN vs. Mesos
- Spark vs. Map/Reduce
- Spark with Map/Reduce: Lambda Architecture
- Spark in the Enterprise Data Science Architecture
Spark Component Overview
- Spark Shell
- RDDs: Resilient Distributed Datasets
- Data Frames
- Spark 2 Unified DataFrames
- Spark Sessions
- Functional Programming
- Spark SQL
- MLib
- Structured Streaming
- Spark R
- Spark and Python
RDDs: Resilient Distributed Datasets
- Coding with RDDs
- Transformations
- Actions
- Lazy Evaluation and Optimization
- RDDs in Map/Reduce
DataFrames
- RDDs vs. DataFrames
- Unified Dataframes (UDF) in Spark 2.0
- Partitioning
Spark Applications
- Spark Sessions
- Running Applications
- Logging
DataFrame Persistence
- RDD Persistence
- DataFrame and Unified DataFrame Persistence
Spark Streaming
- Streaming Overview
- Streams
- Structured Streaming
- DStreams and Apache Kafka
Accessing NOSQL Data
- Ingesting data
- Parquet Files
- Relational Databases
- Graph Databases (Neo4J and GraphX)
- Interacting with Hive
- Accessing Cassandra Data
- Document Databases (MongoDB and CouchDB)
Enterprise Integration
- Map/Reduce and Lambda Integration
- Camel Integration
- Drools and Spark
Algorithms and Patterns
- MLib and Mahout
- Classification
- Clustering
- Decision Trees
- Decompositions
- Pipelines
- Spark Packages
Spark SQL
- Spark SQL
- SQL and DataFrames
- Spark SQL and Hive
- Spark SQL and JDBC
GraphX
- Graph APIs
- GraphX
- ETL in GraphX
- Exploratory Analysis
- Graph computation
- Pregel API Overview
- GraphX Algorithms
- Neo4J as an alternative
Alternate Languages
- Using Web Notebooks (Zeppelin and Jupyter)
- R on Spark
- Python on Spark
- Scala on Spark
Clustering Spark for Developers
- Parallelizing Spark Applications
- Clustering concerns for Developers
Performance and Tuning
- Monitoring Spark Performance
- Tuning Memory
- Tuning CPU
- Tuning Data Locality
- Troubleshooting
*Please Note: Course Outline is subject to change without notice. Exact course outline will be provided at time of registration.
Join an engaging hands-on learning environment, where you’ll learn:
- The essentials of Spark architecture and applications
- How to execute Spark Programs
- How to create and manipulate both RDDs (Resilient Distributed Datasets) and UDFs (Unified Data Frames)
- How to persist and restore data frames
- Essential NOSQL access
- How to integrate machine learning into Spark applications
- How to use Spark Streaming and Kafka to create streaming applications
This course has a 50% hands-on labs to 50% lecture ratio with engaging instruction, demos, group discussions, labs, and project work.
If you’re newer to data science or have a lighter development background, consider our JumpStart to Developing in Apache Spark (9360).
Before attending this course, you should have:
- Java programming experience
- Python programming experience
- Basic understanding of SQL
- Comfort with navigating the Linux command line
- Basic knowledge of Linux editors (such as VI/nano) for editing code
Experienced Developers and Architects who seek proficiency in working with Apache Spark in an enterprise data environment.