Introduction to Spark Programming

Eğitim Tipi : Sanal Sınıf / Online
Süre : 3 Gün
  1. Anasayfa
  2. Introduction to Spark Programming

Açıklama

    Apache Spark’ın dağıtık bilgi işlem motoru hakkında temel bilgiler sunan bu eğitim geliştiriciler, veri analistleri, mimarlar, teknik yöneticiler ve Spark’ı uygulamalı olarak kullanma ihtiyacı duyan herkes için uygundur.

    Bu eğitimde katılımcılar Spark mimarisi ve Spark’ın nasıl çalıştığıyla konusunda temel teknik bilgilere sahip olur. Spark’ın temel yapıtaşlarının (ör. RDD’ler ve dağıtık bilgi işlem motoru) yanı sıra daha basit ve daha yetenekli bir arayüz (ör. Spark SQL ve DataFrames) sağlayan daha üst düzey yapıları içerir. Akış verilerinin işlenmesi için Spark Streaming’in kullanımı gibi daha gelişmiş yetenekleri içerir ve Spark ML (makine öğrenimi) hakkında genel bilgiler sağlar. Eğitim son olarak olası performans sorunları ve optimizasyon için kullanılabilecek stratejilerin araştırılmasına da değinir.

    Bu, birden fazla laboratuvarda işlenen çok uygulamalı bir eğitimdir. Katılımcılar Spark kabuğu (etkileşimli, geçici işleme için) ve Spark API’si kullanan programlar aracılığıyla Spark’la etkileşime geçeceklerdir.

    Apache Spark dağıtık bilgi işlem motoru, büyük ölçekli veri kümelerinin işlenmesi ve analizi konusunda hızlı bir şekilde birincil araç haline geliyor. Hadoop gibi mevcut motorlara göre 10 ila 100 kat daha hızlı çalışma süresi hızları ve daha basit programlama modeli dahil olmak üzere birçok avantaja sahiptir. Bu eğitimi tamamladıktan sonra, Spark ile daha bilinçli ve üretken bir şekilde çalışmaya hazır olacaksınız.

     

    Bu eğitimde neler öğreneceksiniz?

    • Veri işlemede neden Spark’a ihtiyaç duyulduğu
    • Spark mimarisi ve hesaplamaları küme düğümlerine nasıl dağıttığı
    • Spark’ın yüklenmesi, kurulumu ve düzeni hakkında temel bilgiler
    • Etkileşimli ve geçici işlemler için Spark kabuğunun kullanımı
    • RDD’ler (Resilient Distributed Datasets), veri bölümlendirme, komut zinciri ve hesaplamalar konusunda bilgiler
    • map(), filter(), reduce(), groupByKey(), join() ve benzeri RDD işlemleri hakkında bilgi ve bunları kullanma
    • Spark’ın veri önbelleği ve kullanımı
    • Spark API’siyle bağımsız Spark programları yazma ve çalıştırma
    • Yapılandırılmış verileri verimli bir şekilde işlemek için Spark SQL / DataFrames kullanımı
    • Akış (gerçek zamanlı) verilerini işlemek için Spark Streaming’i kullanma
    • Spark kullanılırken ortaya çıkan performans sonuçları ve optimizasyonları
    • Spark ML ile ilgili bilgiler

Eğitim İçeriği

Introduction to Apache Hadoop and the Hadoop Ecosystem

  • Apache Hadoop Overview
  • Data Processing
  • Introduction to the Hands-On Exercises
  • Apache Hadoop File Storage

Apache Hadoop Cluster Components

  • HDFS Architecture
  • Using HDFS

Apache Spark Basics

  • What is Apache Spark?
  • Starting the Spark Shell
  • Using the Spark Shell
  • Getting Started with Datasets and DataFrames
  • DataFrame Operations

RDD Overview

  • RDD Data Sources
  • Creating and Saving RDDs
  • RDD Operations

RDDs and Spark Architecture

  • RDD Concepts, Lifecycle, Lazy Evaluation
  • RDD Partitioning and Transformations
  • Working with RDDs – Creating and Transforming (map, filter, etc.)
  • Key-Value Pairs – Definition, Creation, and Operations
  • Caching – Concepts, Storage Type, Guidelines

Spark API

  • Overview, Basic Driver Code, SparkConf
  • Creating and Using a SparkContext
  • RDD API
  • Building and Running Applications
  • Application Lifecycle
  • Cluster Managers
  • Logging and Debugging

Spark SQL

  • Introduction and Usage
  • DataFrames and SQLContext
  • Working with JSON
  • Querying – The DataFrame DSL, and SQL
  • Data Formats

Spark Streaming

  • Overview and Streaming Basics
  • DStreams (Discretized Steams)
  • Architecture, Stateless, Stateful, and Windowed Transformations
  • Spark Streaming API
  • Programming and Transformation

Performance Characteristics and Tuning

  • The Spark UI
  • Narrow vs. Wide Dependencies
  • Minimizing Data Processing and Shuffling
  • Using Caching
  • Using Broadcast Variables and Accumulators

Ön Koşullar

Programlama tecrübesine sahip olmak