Улучшаемые навыки
                
                                            
                            Big Data
                        
                                            
                            Spark
                        
                                            
                            Spark SQL
                        
                                            
                            DataFrame
                        
                                            
                            RDD
                        
                                            
                            Python
                        
                                            
                            HDFS
                        
                                            
                            Kafka
                        
                                            
                            Cassandra
                        
                                            
                            Data Engineering
                        
                                     
                                        Инструменты
                
                                            
                             Kafka
                            Kafka
                         
                                            
                             Python
                            Python
                         
                                            
                             HDFS
                             HDFS
                         
                                            
                             Cassandra
                            Cassandra
                         
                                            
                             Spark
                            Spark
                         
                                     
                                        Чему вы научитесь
                
                                                                    
                            01
                            Создавать и распараллеливать RDD и DataFrame
                        
                                                                    
                            02
                            Запускать Spark и управлять кластерами для распределенной обработки данных
                        
                                                                    
                            03
                            Читать и записывать данные из внешних хранилищ
                        
                                                                    
                            04
                            Оптимизировать производительность Spark-приложений
                        
                                                                    
                            05
                            Использовать веб-ноутбуки Jupyter для разработки и тестирования кода
                        
                                     
                                        Программа курса
                
                                                                                                
                                
                                    01
                                    Концепции и архитектура Spark 
                                    
                                 
                                
                                    
Map/Reduce и Spark в Hadoop. Примеры
Spark в Lambda-архитектуре
Кластеры для распределенной обработки данных
Как запустить Spark
Исполнители, задания, задачи в Spark                                
                             
                                                                                                                        
                                
                                    02
                                    Программирование с помощью RDD: трансформации и действия
                                    
                                 
                                
                                    
В чем разница между SparkSession и SparkContext
Как создавать и распараллеливать RDD
Как трансформировать RDD 
Как анализировать и управлять обработкой RDD (план и DAG)
Как сохранять и хранить RDD в HDFS
Как группировать и соединять RDD                                
                             
                                                                                                                        
                                
                                    03
                                    Программирование с помощью DataFrame
                                    
                                 
                                
                                    
В чем разница между RDD и DataFrame
Как создавать и распараллеливать DataFrame
Как анализировать и управлять выполнением DataFrame (план и DAG)
Как сохранять DataFrame в HDFS                                
                             
                                                                                                                        
                                
                                    04
                                    Загрузка данных с внешних хранилищ и во внешние хранилища
                                    
                                 
                                
                                    
Как читать/писать данные с файлового хранилища (HDFS, S3, FTP, локальной файловой системы)
Какой формат данных выбрать
Как распараллеливать чтение/запись в JDBC
Как создать DataFrame из MPP (Cassandra, Vertica, Greenplum)
Как работать с Kafka                                
                             
                                                                                                                        
                                
                                    05
                                    Написание логики с использованием Spark DSL
                                    
                                 
                                
                                    
Как считать строки
Как обрабатывать математические агрегации
Как группировать строки
Как правильное соединять DataFrames                                
                             
                                                                                                                        
                                
                                    06
                                    Написание логики с использованием Spark SQL
                                    
                                 
                                
                                    
Как и зачем переключаться на Spark SQL
Как работать с таблицей EXTERNAL
Как работать с таблицей MANAGED                                
                             
                                                                                                                        
                                
                                    07
                                    Использование функций Window и UDF
                                    
                                 
                                
                                    
Какие оконные функции существуют и как их использовать в Spark
Когда не следует использовать оконные функции
Что такое UDF, UDAF и как их использовать
Как оптимизировать UDFs в PySpark                                
                             
                                                                                                                        
                                
                                
                                    
Логические: как добавить фильтр
Численные: как подсчитать сумму, произведение, статистику
Строковый: как использовать регулярные выражения
Комплексные: как работать со структурами, массивами
Как работать с данными                                
                             
                                                                                                                        
                                
                                    09
                                    Примеры оптимизации Spark
                                    
                                 
                                
                                    
Недостаточно памяти
Маленькие файлы в HDFS 
Асимметричные данные
Медленные соединения
Трансляция больших таблиц
Совместное использование ресурсов
Новые механизмы оптимизации: AQE и DPP                                
                             
                                                                                                                        
                                
                                    10
                                    Запуск Spark в Airflow
                                    
                                 
                                
                                    
Оркестраторы
Устройство Airflow
Встроенные операторы Airflow
SparkSubmitOperator                                
                             
                                                                                                                    
                            
                                11
                                Всего: теория – 13 ч. (50%), практика и демонстрация – 13 ч. (50%)
                            
                         
                                                             
                        
                                        Для кого
                
                                            
                             Разработчик
                            Разработчик
                         
                                            
                             Архитектор ПО
                            Архитектор ПО
                         
                                            
                             Big Data Analyst
                            Big Data Analyst
                         
                                     
                                        Предварительная подготовка
                Базовые навыки программирования на языке Python. Базовые знания SQL..