
Explore Apache Spark in the advanced course, learn to create and submit Spark applications, ingest live streams like the Twitter firehose, and use Spark SQL and MLlib.
Configure spark at runtime with sparkconf using key-value properties, create a spark context, and set application name and the web ui port, following code-based properties as the highest priority.
Explore the Spark web user interface and log files to monitor jobs, stages, and tasks; inspect storage and executor metrics, environment settings, and driver and executor logs for debugging.
Tune memory fractions for storage, shuffle, and user code to improve Spark performance, using persist or cache strategies and optionally serialize objects to reduce garbage collection pauses.
Explore how the level of parallelism in Spark uses partitions to distribute tasks across a cluster, including shuffle, and tune with repartition or coalesce for optimal core utilization.
Examine spark's runtime configuration as the key performance lever and review the web user interface, log files, and crile serialization to improve memory and performance.
Explore Spark's streaming library for scalable, fault-tolerant live data processing. Learn input sources, streaming context setup, discretized streams, stateless and stateful transformations, outputs, and checkpointing, tuning, and debugging.
Explore real-time data processing with Apache Spark Streaming, a fault-tolerant extension of Apache Spark for data streams, read from sources like Flume, Kafka, and Twitter, processing with micro-batches.
Add the sparks trimming dependency to your Maven or SBT project to enable streaming from sources like Apache Flume, Kafka, Kinesis, Twitter, and MQ, with artifacts for each source.
Master streaming context as the entry for spark streaming, with a batch interval from 500 milliseconds to seconds; start disallows new computations, and only one active context exists per jvm.
Examine how discretized streams in spark streaming split input data into micro batches, process each batch with the spark engine, perform operations like filter or count, and generate output streams.
Explore Spark streaming inputs, from file streams to Twitter, and learn to create streams, authenticate, and print tweet counts per time window from a sample firehose.
Learn stateless DStream transformations like flatMap, filter, map, transform, repartition, union, and reduceByKey; explore joins and compare with stateful window operations that track state across time.
Explore stateful transformations in Spark streaming, using window operations and update state by key to maintain running counts within sliding windows and per-key statistics.
Spark streaming triggers the execution of lazy transformations when an output operation runs, printing and saving streamed data to databases and files with prefix and suffix naming per batch.
Explore spark checkpointing for 24/7 streaming, enabling recovery from system failures with data checkpoints saved to reliable storage such as HFS, and periodic checkpoints to avoid long recovery times.
Improve Spark performance by persisting data in memory across multiple computations. Choose storage levels like memory and disk, disk-only, or off-heap; cache is shorthand for memory-only persistence.
Tune spark streaming by optimizing batch size and interval, enabling parallel data reception with multiple receivers, unioning streams, and reducing memory with crile serialization and concurrent mark-and-sweep gc.
Explore the sparks trimming library, covering input data sources, streaming context setup, discretized streams, stateless and stateful transformations, output operations, and checkpointing with tuning and debugging.
Explore Spark SQL and the data frames API for structured and semi-structured data, infer schemas, read and write JSON and Parquet, and perform joins, group by, and window functions.
Explore Spark SQL overview: a distributed framework for structured and semi-structured data, enabling SQL queries, reading and writing many formats, and Hive-compatible data sources via JDBC or ODBC.
Learn to create data frames and infer schema from raw data, via programmatic or case class methods, transforming into row and column structures for queries and hive mega-store storage.
Learn to query data frames in spark using the api and sequel language, reference columns by name or as objects, apply functions, arithmetic, filters, sampling, and temporary tables.
Explore reading json lines into a dataframe from structured sources, infer or apply explicit schemas for nested structures and arrays, and write to json or parquet formats for hive tables.
Explore inner joins across three data frames in Spark, using API syntax and sequel to combine customer, order, and product data and derive new values.
Explore aggregation and sorting in Spark SQL, using group by and order by to compute per-product totals, then apply window functions to rank and analyze data across categories.
Compare left and right outer joins, understand how they include non-matching records and produce nulls, and apply semi joins, anti-joins, and grouping with count for customer order analysis.
Explore creating custom user defined functions (UDFs) in Spark SQL to perform complex column transforms, from string manipulation to single-call real-time currency conversion, with registration and context considerations.
Compare the API and sequel interfaces in Spark, examining the one-to-one mapping between DataFrame API and sequel. See how they coexist in code with trade-offs in syntax and flexibility.
Explore core machine learning concepts and algorithms, examine the advantages of the machine learning library for common methods, and engage in hands-on Spark examples with evaluation metrics.
Explore how machine learning uses data-driven algorithms to learn and act intelligently without explicit programming. Study supervised, unsupervised, semi-supervised, and reinforcement learning, plus feature vectors and real-world applications.
Explore MLlib, the scalable Spark machine learning library, offering classification, regression, clustering, collaborative filtering, and dimensionality reduction for big data.
Leverage the Madlib statistics package to compute basic statistics—mean, variance, standard deviation, and non-zero counts—and explore correlations, stratified sampling, and hypothesis testing to assess data significance.
Delve into optimization, from gradient descent and stochastic gradient descent to limited-memory BFGS, and learn how convex and subgradient methods minimize objective functions over weights with training data and labels.
Explore supervised learning with classification and regression, compare linear and non-linear models like SVM, logistic regression, and decision trees, and evaluate using training/testing splits and the roc curve.
Learn how supervised learning uses training, validation, and testing sets to prevent overfitting in a neural network, employing tenfold cross-validation and averaging accuracy across folds.
Explore regression, a supervised method predicting continuous outputs like house prices, stock prices, and power use, using linear regression that minimizes squared errors.
Cluster data by feature similarity using k-means and streaming k-means, evaluate cost with cluster sum of squares, and apply to real-time data like social media and sensors.
Explore feature extraction and transformation in Apache Spark to reduce feature dimensionality, using scaling, normalization, PCA, correlation, sampling, and word count to build efficient feature vectors.
Extract informative features by reducing dimensionality with PCA and SVD, projecting data into lower dimensions to minimize noise, speed up analysis, and enable visualization.
Explore collaborative filtering for recommender systems by building a user-item rating matrix, predicting missing entries with an alternating least squares model, tuning iterations and rank, and evaluating mean square error.
Explain evaluation metrics for binary classifiers, including precision, recall, accuracy, and area under the curve, plus roc estimation methods, and clustering measures like intra- and inter-cluster distance.
Explore spark graphx, the graph processing library for spark, introducing the property graph and directed multi graph with vertex and edge attributes, plus information, transformation, and structure-modifying operators.
Explore graph operators that compute information like edge and vertex counts and degrees, transform attributes, modify structure (reverse edges and subgraphs), and aggregate neighbor data in a Spark setting.
Transform graph attributes with map vertices and map edges using a user function, leveraging vertex IDs and current values. Join vertices to preserve originals by storing RTT.
Modify graph structure using reverse graphs and subgraphs with predicates. Use mask and group edges to merge parallel edges and filter vertices with fewer than two outgoing edges.
Explore graph neighborhood aggregations using collect neighbors to obtain neighbor IDs, with edge direction options and duplicate handling, then apply two-phase map-reduce messaging to update vertex attributes and return the graph.
Explore graph algorithms in the graphics library, including page rank, connected components, and triangle counting, and learn how canonical graphs and repartitioning enable correct results.
Apply Pregel-style graph parallel computation using the Kriegel algorithm to solve shortest path problems. Understand iterative super steps, vertex program, message generation, and merge operations via a family graph example.
Explore optimized graph representation in Spark, comparing edge cut and vertex cut partitioning, with Grafx default vertex cut, detailing storage, routing, and distributed graph operations.
Apache Spark is an open source data processing engine. Spark is designed to provide fast processing of large datasets, and high performance for a wide range of analytics applications. Unlike MapReduce, Spark enables in-memory cluster computing which greatly improves the speed of iterative algorithms and interactive data mining tasks.
Adastra Academy’s Advanced Apache Spark includes illuminating video lectures, thorough application examples, a guide to install the NetBeans Integrated Development Environment, and quizzes. Through this course, you will learn about Spark’s four built-in libraries - SparkStreaming, DataFrames (SparkSQL), MLlib and GraphX - and how to develop, build, tune, and debug Spark applications. The course exercises will enable you to become proficient at creating fully functional real-world applications using the Apache Spark libraries. Unlike other courses, we give you the guided and ground-up approach to learning Spark that you need in order to become an expert.