Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 1. Введение в Big Data и MapReduceTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 3. Распределённая файловая система HDFSTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 1. Введение в Big Data и MapReduceTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 3. Распределённая файловая система HDFSTechnopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
HDFS has several strengths: horizontally scale its IO bandwidth and scale its storage to petabytes of storage. Further, it provides very low latency metadata operations and scales to over 60K concurrent clients. Hadoop 3.0 recently added Erasure Coding. One of HDFS’s limitations is scaling a number of files and blocks in the system. We describe a radical change to Hadoop’s storage infrastructure with the upcoming Ozone technology. It allows Hadoop to scale to tens of billions of files and blocks and, in the future, to every larger number of smaller objects. Ozone fundamentally separates the namespace layer and the block layer allowing new namespace layers to be added in the future. Further, the use of RAFT protocol has allowed the storage layer to be self-consistent. We show how this technology helps a Hadoop user and also what it means for evolving HDFS in the future. We will also cover the technical details of Ozone.
Speaker: Sanjay Radia, Chief Architect, Founder, Hortonworks
YARN Ready: Integrating to YARN with Tez Hortonworks
YARN Ready webinar series helps developers integrate their applications to YARN. Tez is one vehicle to do that. We take a deep dive including code review to help you get started.
Hadoop is the popular open source like Facebook, Twitter, RFID readers, sensors, and implementation of MapReduce, a powerful tool so on.Your management wants to derive designed for deep analysis and transformation of information from both the relational data and thevery large data sets. Hadoop enables you to unstructuredexplore complex data, using custom analyses data, and wants this information as soon astailored to your information and questions. possible.Hadoop is the system that allows unstructured What should you do? Hadoop may be the answer!data to be distributed across hundreds or Hadoop is an open source project of the Apachethousands of machines forming shared nothing Foundation.clusters, and the execution of Map/Reduce It is a framework written in Java originallyroutines to run on the data in that cluster. Hadoop developed by Doug Cutting who named it after hishas its own filesystem which replicates data to sons toy elephant.multiple nodes to ensure if one node holding data Hadoop uses Google’s MapReduce and Google Filegoes down, there are at least 2 other nodes from System technologies as its foundation.which to retrieve that piece of information. This It is optimized to handle massive quantities of dataprotects the data availability from node failure, which could be structured, unstructured orsomething which is critical when there are many semi-structured, using commodity hardware, thatnodes in a cluster (aka RAID at a server level). is, relatively inexpensive computers. This massive parallel processing is done with greatWhat is Hadoop? performance. However, it is a batch operation handling massive quantities of data, so theThe data are stored in a relational database in your response time is not immediate.desktop computer and this desktop computer As of Hadoop version 0.20.2, updates are nothas no problem handling this load. possible, but appends will be possible starting inThen your company starts growing very quickly, version 0.21.and that data grows to 10GB. Hadoop replicates its data across differentAnd then 100GB. computers, so that if one goes down, the data areAnd you start to reach the limits of your current processed on one of the replicated computers.desktop computer. Hadoop is not suitable for OnLine Transaction So you scale-up by investing in a larger computer, Processing workloads where data are randomly and you are then OK for a few more months. accessed on structured data like a relational When your data grows to 10TB, and then 100TB. database.Hadoop is not suitable for OnLineAnd you are fast approaching the limits of that Analytical Processing or Decision Support Systemcomputer. workloads where data are sequentially accessed onMoreover, you are now asked to feed your structured data like a relational database, to application with unstructured data coming from generate reports that provide business sources intelligence. Hadoop is used for Big Data. It complements OnLine Transaction Processing and OnLine Analytical Pro
Everything you wanted to know about Apache Tez:
-- Distributed execution framework targeted towards data-processing applications.
-- Based on expressing a computation as a dataflow graph.
-- Highly customizable to meet a broad spectrum of use cases.
-- Built on top of YARN – the resource management framework for Hadoop.
-- Open source Apache incubator project and Apache licensed.
HDFS on Kubernetes—Lessons Learned with Kimoon KimDatabricks
There is growing interest in running Apache Spark natively on Kubernetes (see https://github.com/apache-spark-on-k8s/spark). Spark applications often access data in HDFS, and Spark supports HDFS locality by scheduling tasks on nodes that have the task input data on their local disks. When running Spark on Kubernetes, if the HDFS daemons run outside Kubernetes, applications will slow down while accessing the data remotely.
This session will demonstrate how to run HDFS inside Kubernetes to speed up Spark. In particular, it will show how Spark scheduler can still provide HDFS data locality on Kubernetes by discovering the mapping of Kubernetes containers to physical nodes to HDFS datanode daemons. You’ll also learn how you can provide Spark with the high availability of the critical HDFS namenode service when running HDFS in Kubernetes.
As MapReduce clusters have become popular these days, their scheduling is one of the important factor which is to be considered. In order to achieve good performance a MapReduce scheduler must avoid unnecessary data transmission. Hence different scheduling algorithms for MapReduce are necessary to provide good performance. This
slide provides an overview of many different scheduling algorithms for MapReduce.
What is HDFS | Hadoop Distributed File System | EdurekaEdureka!
( Hadoop Training: https://www.edureka.co/hadoop )
This What is HDFS PPT will help you to understand about Hadoop Distributed File System and its features along with practical. In this What is HDFS PPT, we will cover:
1. What is DFS and Why Do We Need It?
2. What is HDFS?
3. HDFS Architecture
4. HDFS Replication Factor
5. HDFS Commands Demonstration on a Production Hadoop Cluster
Check our complete Hadoop playlist here: https://goo.gl/hzUO0m
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
HDFS has several strengths: horizontally scale its IO bandwidth and scale its storage to petabytes of storage. Further, it provides very low latency metadata operations and scales to over 60K concurrent clients. Hadoop 3.0 recently added Erasure Coding. One of HDFS’s limitations is scaling a number of files and blocks in the system. We describe a radical change to Hadoop’s storage infrastructure with the upcoming Ozone technology. It allows Hadoop to scale to tens of billions of files and blocks and, in the future, to every larger number of smaller objects. Ozone fundamentally separates the namespace layer and the block layer allowing new namespace layers to be added in the future. Further, the use of RAFT protocol has allowed the storage layer to be self-consistent. We show how this technology helps a Hadoop user and also what it means for evolving HDFS in the future. We will also cover the technical details of Ozone.
Speaker: Sanjay Radia, Chief Architect, Founder, Hortonworks
YARN Ready: Integrating to YARN with Tez Hortonworks
YARN Ready webinar series helps developers integrate their applications to YARN. Tez is one vehicle to do that. We take a deep dive including code review to help you get started.
Hadoop is the popular open source like Facebook, Twitter, RFID readers, sensors, and implementation of MapReduce, a powerful tool so on.Your management wants to derive designed for deep analysis and transformation of information from both the relational data and thevery large data sets. Hadoop enables you to unstructuredexplore complex data, using custom analyses data, and wants this information as soon astailored to your information and questions. possible.Hadoop is the system that allows unstructured What should you do? Hadoop may be the answer!data to be distributed across hundreds or Hadoop is an open source project of the Apachethousands of machines forming shared nothing Foundation.clusters, and the execution of Map/Reduce It is a framework written in Java originallyroutines to run on the data in that cluster. Hadoop developed by Doug Cutting who named it after hishas its own filesystem which replicates data to sons toy elephant.multiple nodes to ensure if one node holding data Hadoop uses Google’s MapReduce and Google Filegoes down, there are at least 2 other nodes from System technologies as its foundation.which to retrieve that piece of information. This It is optimized to handle massive quantities of dataprotects the data availability from node failure, which could be structured, unstructured orsomething which is critical when there are many semi-structured, using commodity hardware, thatnodes in a cluster (aka RAID at a server level). is, relatively inexpensive computers. This massive parallel processing is done with greatWhat is Hadoop? performance. However, it is a batch operation handling massive quantities of data, so theThe data are stored in a relational database in your response time is not immediate.desktop computer and this desktop computer As of Hadoop version 0.20.2, updates are nothas no problem handling this load. possible, but appends will be possible starting inThen your company starts growing very quickly, version 0.21.and that data grows to 10GB. Hadoop replicates its data across differentAnd then 100GB. computers, so that if one goes down, the data areAnd you start to reach the limits of your current processed on one of the replicated computers.desktop computer. Hadoop is not suitable for OnLine Transaction So you scale-up by investing in a larger computer, Processing workloads where data are randomly and you are then OK for a few more months. accessed on structured data like a relational When your data grows to 10TB, and then 100TB. database.Hadoop is not suitable for OnLineAnd you are fast approaching the limits of that Analytical Processing or Decision Support Systemcomputer. workloads where data are sequentially accessed onMoreover, you are now asked to feed your structured data like a relational database, to application with unstructured data coming from generate reports that provide business sources intelligence. Hadoop is used for Big Data. It complements OnLine Transaction Processing and OnLine Analytical Pro
Everything you wanted to know about Apache Tez:
-- Distributed execution framework targeted towards data-processing applications.
-- Based on expressing a computation as a dataflow graph.
-- Highly customizable to meet a broad spectrum of use cases.
-- Built on top of YARN – the resource management framework for Hadoop.
-- Open source Apache incubator project and Apache licensed.
HDFS on Kubernetes—Lessons Learned with Kimoon KimDatabricks
There is growing interest in running Apache Spark natively on Kubernetes (see https://github.com/apache-spark-on-k8s/spark). Spark applications often access data in HDFS, and Spark supports HDFS locality by scheduling tasks on nodes that have the task input data on their local disks. When running Spark on Kubernetes, if the HDFS daemons run outside Kubernetes, applications will slow down while accessing the data remotely.
This session will demonstrate how to run HDFS inside Kubernetes to speed up Spark. In particular, it will show how Spark scheduler can still provide HDFS data locality on Kubernetes by discovering the mapping of Kubernetes containers to physical nodes to HDFS datanode daemons. You’ll also learn how you can provide Spark with the high availability of the critical HDFS namenode service when running HDFS in Kubernetes.
As MapReduce clusters have become popular these days, their scheduling is one of the important factor which is to be considered. In order to achieve good performance a MapReduce scheduler must avoid unnecessary data transmission. Hence different scheduling algorithms for MapReduce are necessary to provide good performance. This
slide provides an overview of many different scheduling algorithms for MapReduce.
What is HDFS | Hadoop Distributed File System | EdurekaEdureka!
( Hadoop Training: https://www.edureka.co/hadoop )
This What is HDFS PPT will help you to understand about Hadoop Distributed File System and its features along with practical. In this What is HDFS PPT, we will cover:
1. What is DFS and Why Do We Need It?
2. What is HDFS?
3. HDFS Architecture
4. HDFS Replication Factor
5. HDFS Commands Demonstration on a Production Hadoop Cluster
Check our complete Hadoop playlist here: https://goo.gl/hzUO0m
Follow us to never miss an update in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Техносфера Mail.ru Group, МГУ им. М.В. Ломоносова.
Курс "Методы распределенной обработки больших объемов данных в Hadoop"
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9rPxMIgPri9YnOpvyDAL9HD
Мастер-класс по BigData Tools для HappyDev'15Alexey Zinoviev
Данила, BigData Tool Master,
собрал Hadoop - кластер,
Запустил Dataset
Он скрипты на Scala
Run'ил на Spark постоянно
И писал в HDFSssss
Если во время доклада "Когда все данные станут большими..." мы будем говорить о вопросах и ответах, то на этом мастер-классе мы уже потопчемся в вотчине BigData-разработчиков.
Начнем с классики на Hadoop, познаем боль MapReduce job, потыкаем Pig + Hive, затем плавно свальсируем в сторону Spark и попишем код в легком и удобном pipeline - стиле.
Для кого хорошо подходит данный мастер-класс: вы умеете читать и понимать код на Java на уровне хотя бы Junior, умеете писать SQL-запросы, в универе вы ходили хоть на одну пару по матану или терверу, вас либо недавно поставили, либо вскоре поставят на проект, где надо уметь ручками работать с вышеперечисленным зверинцем. Ну или вам просто интересно посмотреть на мощь даннодробилок, написанных на Java, и у вас в анамнезе неудачный опыт с NoSQL/SQL, как хранилищем, которое было ответственно за все, включая аналитику.
Практика миграции реляционных баз данных в экосистему HadoopYury Petrov
Слайды моего доклада: "Практика миграции реляционных баз данных в экосистему Hadoop"
В докладе я доказываю, что возможен полный отказ от реляционных баз данных в пользу экосистемы Hadoop. В мире (к сожалению не в России) эта тема уже перекраивает рынок, уже наносится удар по традиционным базам данных.
Скоро ожидаются скринкасты.
Если вы начинаете проект миграции - задавайте мне вопросы - я с удовольствием на них отвечу.
Приглашайте меня в качестве консультанта и архитектора - я помогу собрать команду, обосновать инвестиции и запустить проект.
- Sahara как инструмент запуска и управления программным обеспечением для хранения и обработки больших массивов данных (Hadoop) на облаках под управлением OpenStack;
- Общий обзор проекта Sahara, его ключевые возможности и архитектурные аспекты;
- Варианты использования Sahara.
Инфраструктура Big data - от источников до быстрых витрин - версия для МИСиСYury Petrov
В докладе я постараюсь донести до аудитории общую концепцию построения инфраструктуры Big Data, которую многие не видят.
Будут и инсайты и самый главный из них это то, что за долгое время работы с Big Data я таки вывел определение для этого термина
BigIntegrate - разрушение мифов по поводу ETL на HadoopAndrey Orlov
Моя презентация с IBM Solution Connect 2015 (Москва, 25 ноября 2015). В презентации представлен новый подход к ETL/ELT на Hadoop. Если вас интересуют больше деталей по данной технологии - мои контакты представлены на вступительном и заключительном сладах.
С чего начать внедрение Hadoop в компании / Алексей Еремихин (Badoo)Ontico
+ Обзор внутреннего устройства Hadoop и продуктов вокруг;
+ Как можно использовать для решения (спектр);
+ Как подходить к обоснованности использования даже в небольших проектах;
+ Hadoop в Badoo - история успеха;
+ Hadoop в Badoo - история проблем.
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Вводная часть посвящена определению и истории развития концепции NoSQL. Даются характеристики, рассказывается о способах использования. Рассматриваются виды NoSQL БД, теоретические основы NoSQL, а в конце лекции обсуждаются недостатки NoSQL-решений, а также проводится сравнение разных NoSQL-решений.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №10 "Нереляционное решение в области баз данных — NoSQL". Лектор - Станислав Ступников.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №9 "Безопасность баз данных". Лектор - Павел Щербинин.
Открывается лекция рассказом о резервном копировании (о логических и физических резервных копиях, о выборе данных для копирования). Затем определяется терминология для обсуждения дальнейших вопросов. После этого рассматриваются основы учётных записей: таблицы доступа, привилегии, виды записей. Обсуждаются SQL-injection, список смежных вершин (Adjacency Set), вложенное множество (Nested Set), материализованный путь (Materialized Path) и комбинированный подход.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №8 "Конфигурирование базы данных". Лектор - Павел Щербинин.
Сначала объясняются основы конфигурирования и общие принципы настройки. Далее рассказывается об области видимости, о настройке использования памяти, обсуждается размер блока ключей key_cache_block_size. Рассматривается устройство и использование кэша InnoDB, а также кэшей потоков и таблиц. Затем говорится об особенностях ввода/вывода в InnoDB. Далее рассказывается о табличном пространстве, оптимизации файловой сортировки, переменных состояния. Финальная часть лекции посвящена репликации: настройка, синхронизация, топология, планирование пропускной способности, администрирование и обслуживание, проблемы и их решения.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №7 "Оптимизация запросов и индексирование". Лектор - Павел Щербинин.
Вначале рассказывается об оптимизации доступа к данным, о декомпозиции соединения и состоянии запроса. Далее идёт большой блок, посвящённый оптимизатору запросов (изменение порядка соединения, применение алгебраических правил эквивалентности, оптимизации COUNT(), MIN(), MAX(), вычисление и свертка константных выражений, покрывающие индексы, оптимизация подзапросов, раннее завершение, сравнение по списку IN() и распространение равенства). Затем последовательно рассматриваются такие вещи, как соединение (JOIN) в MySQL, оптимизатор сортировки, коррелированные подзапросы, слияние и непоследовательный просмотр индексов, функции SELECT & UPDATE, COUNT(). После этого рассказывается об оптимизации запросов с помощью JOIN, GROUP BY, DISTINCT и LIMIT со смещением. В конце лекции даётся информация о кэшировании запросов, объединённых таблицах и секционировании.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №5 "Определение узких мест". Лектор - Павел Щербинин.
Вначале рассказывается о подсистемах хранения: MyISAM, InnoDB, Memory, о критериях выбора подсистем хранения, приводятся практические примеры. Затем обсуждается тема индексирования (B-tree, хеш-индексы) и EXPLAIN (столбцы id, table, possible_keys, key, key_len).
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных".
Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-запросы". Лектор - Павел Щербинин.
Лекция открывается рассказом о том, что такое профилирование запроса, каковы его этапы выполнения в MySQL. Рассказывается о том, как планировать запрос, как осуществляется протоколирование запросов, как собирается статистика. Объясняются основы индексирования, подробно обсуждаются стратегии индексирования для достижения высокой производительности: изоляция столбца, кластерные индексы (преимущества и недостатки), размещение данных в MyISAM и InnoDB, покрывающие индексы. Далее затрагивается тема нормализации и денормализации, а также таблиц счётчиков. В завершении рассказывается о версионировании схемы БД: о методах инкрементных изменений, идемпотентных изменений, уподобления структуры БД исходному коду.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных". Лекция №4 "Расширенные возможности работы с базами данных. Триггеры и хранимые процедуры"
Лектор - Павел Щербинин.
Первая часть лекции посвящена хранимым процедурам (использование, примеры кода, аспекты безопасности при использовании хранимых процедур): LOOP, REPEAT, WHILE, HANDLER, курсоры, EXECUTE. Во второй части рассказывается о триггерах: BEFORE, AFTER, INSTEAD OF, о специальных таблицах inserted, updated и deleted, об использовании триггеров для поддержания целостности и бизнес-логики, о проблемах при использовании триггеров, приводятся примеры кода. В завершающей части лекции обсуждаются вопросы, связанные с транзакциями: концепция A.C.I.D.; уровни изоляции ANSI/ISO (SET TRANSACTION ISOLATION LEVEL); взаимовлияние транзакций и проблемы lost update, dirty read, non-repeatable read и phantom read; технология MVCC (контроль версионирования конкуренции); конкуренция; параллельность и согласованность.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №3 "Выборка данных (продолжение). Транзакции"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных". Лекция №3 "Выборка данных (продолжение). Транзакции"
Лектор - Павел Щербинин.
Лекция начинается с рассказа о добавлении данных и операторе INSERT, о модификации данных и операторе UPDATE, об удалении данных и операторе DELETE. Затем небольшая часть лекции посвящена пользовательским переменным. После этого даётся информация о подзапросах: SUBQUERIES, ROW SUBQUERIES, SUBQUERIES in FROM. Далее говорится об агрегации (UNION), о семействе функций JOIN и соединении таблиц, а в завершение лекции — о понятии VIEW (каковы преимущества, ограничения и особенности, алгоритмы использования и изменение).
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №2 "Модификация данных. Выборка данных (начало)"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных". Лекция №2 "Модификация данных. Выборка данных (начало)"
Лектор - Павел Щербинин.
Сначала завершается рассмотрение типа данных MySQL «Дата и время». Затем рассказывается о создании таблиц (CREATE TABLE): create_definition, column_definition, reference_defenition, обновление кортежа в родительском отношении. Далее обсуждается процедура изменения таблицы (ALTER TABLE), выборка данных и оператор SELECT, а также фильтрация (формирование групп, агрегаторы).
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
СУБД 2013 Лекция №1 "Введение и начало проектирования"Technopark
Технопарк Mail.ru Group, МГТУ им. Н.Э. Баумана. Курс "Базы данных". Лекция №1 "Введение и начало проектирования"
Лектор - Павел Щербинин.
В лекции обсуждаются значение и роли баз данных в IT, даются определения БД и СУБД. Затем рассказывается о реляционной модели данных, об основах реляционной алгебры. Далее говорится непосредственно о проектировании БД: каковы критерии оценки модели данных, особенности концептуального проектирования, этапы проектирования, что такое логическое проектирование. Остальная часть лекции посвящена типам данных MySQL: NULL, целые числа, числа с плавающей точкой, бинарные, строки, дата и время.
Видео лекции курса https://www.youtube.com/playlist?list=PLrCZzMib1e9obOz5K695ugYuiOOCBciEi
2. BigData
• Information Data Corporation (IDC) оценивает
общий размер данных за 2010г как
1.2 Зеттабайт (1.2 Триллиона Гигабайт)
• Компании продолжают генерить новые
данные и рост их объема
оценивается экспоненциально
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
3. Hadoop
• Существующие средства на тот момент не были
предназначены для работы с большими объемами
данных
• Проект "The Apache™ Hadoop™“ разрабатывает open-
source ПО для отказоустойчивых, мастштабируемых и
распределенных вычислений
– Работает с BigData на обычных серверах
– Сильное open-source комьюнити
– Много различных продуктов и средств используют
Hadoop
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
4. История Hadoop
• Начинался как подпроект в Apache Nutch
– Nutch – это открытый Web Search Engine
– OpenSource альтернатива Google
– Начинал его Doug Cutting
• В 2004 году Google публикует статьи про GFS и MapReduce
• Doug Cutting и команда Nutch реализовала свой фреймворк
на основе этих статей
• В 2006 Yahoo! Нанимает Doug Cutting для работы над
Hadoop в своей команде
• В 2008 Hadoop становится Apache Top Level Project
– http://hadoop.apache.org
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
7. Хранение данных
• Емкость дисков выросла экспоненциально, в отличии от
скорости чтения
– 1990
• Емкость 1400 Мб
• Скорость чтения 4.5 Мб/сек
• Чтение всего диска за ~5 мин
– 2010
• Емкость 1Тб
• Скорость чтения 100 Мб/сек
• Чтение всего диска за ~3 часа
• Hadoop:
– 100 HDD работающих одновременно могут прочитать 1Тб
данных за 2 мин
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
8. Кластер Hadoop
• “Дешевое” обычное железо
(Commodity Hardware)
• Соединенное по сети
• Расположено в одном месте
– Сервера в стойках в датацентре
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
9. Обычное железо (Commodity Hardware)
• “Дешевое” обычное железо для серверов
– Это не суперкомпьютеры
– Это не десктопы
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
10. Системные принципы Hadoop
• Горизонтальное (Scale-Out) масштабирование
вместо вертикального (Scale-Up)
• Отправляем код к данным
• Уметь обрабатывать падения и отказы
оборудования
• Инкапсуляция сложности работы
распределенных и многопоточных приложений
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
11. Горизонтальное масштабирование вместо
вертикального
• Сложнее и дороже масштабироваться “вверх”
– Добавить дополнительные ресурсы к существующему железу (CPU,
RAM)
– Закон Мура не успевает за ростом объема данных
– Если нельзя улучшить железо, то надо покупать более мощное новое
– Это вертикальное масштабирование
• Горизонтальное масштабирование
– Добавить больше машин к существующему распределенному
окружению
– Уровень приложения поддерживает добавление/удаление нод
– Hadoop исповедует такой подход – набор связанных нод
– Так же очень просто масштабироваться “вниз”
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
12. Код к данным
• Традиционная архитектура системы обработки данных
– Ноды системы разделяются на вычислительные и стораджи,
соединяются высокоскоростным линком
– Многие приложения обработки данных являются CPU-bound,
что приводит к проблемам с сетью
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
Processing
Node
Storage
Node
Загрузка данных
Сохранение рез-та
Processing
Node
Storage
Node
Загрузка данных
Сохранение рез-та
Риск для “бутылочного
горлышка”
13. Код к данным
• Hadoop сближает вычислительный процессор и данные
– Код копируется к данным (небольшой расход, Кб)
– Процессор выполняет код и имеет доступ к локально
расположенным данным
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
Processor
Storage
Hadoop Node
Processor
Storage
Hadoop Node
Processor
Storage
Hadoop Node
Processor
Storage
Hadoop Node
Hadoopкластер
14. Отказы оборудования
• Чем больше количество машин, тем чаще
будут отказы железа
– На больших кластерах (сотни и тысячи машины)
отказы будут еженедельно (и даже ежедневно!)
• Hadoop разрабатывался с учетом отказов
железа
– Репликация данных
– Перезапуск тасков
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
15. Инкапсуляция сложности реализации
• Hadoop скрывает многие сложности распределенных и
многопоточных систем
– Небольшое число компонент
– Предоставляет простой и хорошо определенный интерфейс
для взаимодействия между компонентами
• Освобождает разработчика от заботы о проблемах
системного уровня
– Race conditions, ожидание данных
– Организация передачи данных, распределение данных,
доставка кода и т.д.
• Позволяет разработчику фокусироваться на разработке
приложения и реализации бизнес-логики
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
16. Сравнение с СУБД (RDBMS)
• До недавнего времени многие приложения использовали
Relational Database Management Systems (RDBMS) для
batch processing
– Oracle, Sybase, MySQL, Microsoft SQL Server и т.д.
– Hadoop не заменяет полностью реляционные БД – многие
архитектурные решения совмещают оба подхода
• Scale-Out vs. Scale-Up
– RDBMS масштабируются “вверх”
• Дорого для больших инсталляций
• Появляются проблемы когда объем данных достигает сотен
терабайт
– Hadoop может масштабироваться до сотен машин и петебайт
данных
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
17. Сравнение с СУБД (продолжение)
• Структурированные, слабоструктурированные и “сырые”
данные
– СУБД оптимально работают со структурированными данными
• Таблицы в БД определяются схемой данных
– Для Hadoop лучше всего подходят слабоструктурированные и
“сырые” данные
• Слабоструктурированные данные могут некоторую схему, которая
не всегда соблюдается
• “Сырые” данные вообще не имеют общей схемы и обычно это
просто текстовые блоки или изображения
• В процессе обработки таких данных пару key/value определяет сам
пользователь
– Определенные типы данных нет так то просто преобразовать
в реляционную схему.
• Напр., картинки, XML, JSON и т.д.
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
18. Сравнение с СУБД (продолжение)
• Offline batch vs. Online транзакции
– Hadoop не был изначально предназначен для real-time или
low latency запросов
– Продукты, которые предоставляют возможность выполнения
low latency запросов (напр., HBase), имеют ограниченный
функционал
– Hadoop лучше всего выполняет offline batch processing на
больших объемах данных
– СУБД лучше всего подходит для выполнения online
транзакций и low latency запросов
– Hadoop предназначен для обработки больших файлов и
больших объемов данных
– СУБД лучше всего работает с небольшими размерами записей
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
19. Сравнение с СУБД (продолжение)
• Hadoop и СУБД часто дополняют друг друга в рамках одной архитектуры
• Напр., веб-сервис
– у которого небольшое число пользователей
– но он генерит много логов с информацией
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
Веб-сервис СУБД Hadoop
1 2
3
4
1. СУБД используется для предоставления данных пользователям и
гарантии целостности данных
2. СУБД генерит большое кол-во логов, которые периодически
отправляются в Hadoop-кластер
3. Все логи хранятся в Hadoop, поверх низ запускаются аналит. Задачи
4. Результат копируется обратно в СУБД, который затем используется веб-
сервисом
21. Экосистема Hadoop
• Изначально Hadoop был известен в основном из-за двух
ключевых компонент:
– HDFS: Hadoop Distributed FileSystem
– MapReduce: Фреймворк распределенной обработки данных
• Сейчас, в дополнении к этому, также известны
следующие продукты:
– Hbase: Column-oriented DB, поддержка последовательного и
произвольного чтения, поддержка простых запросов
– Zookeeper: Highly-Available Coordination Service
– Oozie: Диспетчер задача для Hadoop
– Pig: Язык обработки данных и среда выполнения
– Hive: Data warehouse c SQL интерфейсом
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
22. Экосистема Hadoop
• Для разработки приложения необходима файловая
система
– В мире Hadoop это обычно Hadoop Distributed File System
(HDFS)
– В Linux это может быть ext3 и ext4
• Также, дополнительно к хранилищу данных, нужен
удобный интерфейс для работы с данными
– Hbase: Это key/value хранилище, реализованное поверх HDFS
– В обычной системе используется СУБД, которая работает
поверх локальной файловой системы
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
HDFS
HBase
23. Экосистема Hadoop
• Для пакетной обработки данных надо использовать
фреймворк
– В мире Hadoop это MapReduce
– MapReduce значительно упрощает реализацию
распределенных приложений, которые должны работать
на кластере
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
HDFS
HBase
MapReduce
24. Экосистема Hadoop
• Решение многих задач подразумевает запуск несколько
MapReduce задач
– Apache Oozie: популярный продукт для координации рабочего
процесса MR задач
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
HDFS
HBase
MapReduce
Oozie
25. Экосистема Hadoop
• Фреймворк MapReduce не всегда удобно использовать для
аналитиков и data scientists
– Apache Pig является дополнением для высокоуровневой обработки
данных используя специальный язык написания скриптов
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
HDFS
HBase
MapReduce
Oozie Pig
26. Экосистема Hadoop
• Для тех, кто привык работать с SQL
– Apache Hive позволяет организовать data warehouse
и работать с ним через SQL-подобный интерфейс
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
HDFS
HBase
MapReduce
Oozie Pig Hive
27. Дистрибутивы Hadoop
• Сначала скачиваем Hadoop’s HDFS и MapReduce с
http://hadoop.apache.org/
• Все работает хорошо, но затем мы решаем начать
использовать Hbase
– Скачиваем HBase http://hadoop.apache.org/
– Но оказывается, что эта версия HBase может работать
только с предыдущей версией HDFS, поэтому мы
устаналиваем нужную версию HDFS и все работает
• Еще чуть позже мы решаем установить Pig
– Но, к сожалению, версия Pig не работает с нашей версий
HDFS и ее надо проапгрейдить
– Но если мы это сделаем, то перестанет работать HBase…
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
28. Дистрибутивы Hadoop
• Дистрибутивы Hadoop призваны решить проблему
несовместимостей версий
• Вендоры дистрибутивов обеспечивают
– Интеграционные тесты компонентов Hadoop
– Инсталляционные пакеты в различных форматах
• rpm, tarballs и т.д.
– Могут включать дополнительные скрипты для запуска
– Некоторые вендоры могут делать backport фич и
исправлений багов из Apache
– Обычно, найденный баги исправляются коммитерами,
которые работают на вендоров и отправляются в
основной Apache репозиторий
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
29. Вендоры дистрибутивов
• Cloudera Distribution for Hadoop
(CDH)
• MapR Distribution
• Hortonworks Data Platform (HDP)
• Apache BigTop Distribution
• Greenplum HD Data Computing
Appliance
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
30. Cloudera Distribution for Hadoop (CDH)
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
• Cloudera является лидером в распространии
дистрибутивов Hadoop
• Cloudera проповедует ту же политику, что и RedHat в
популяризации Linux в свое время
• Самый популярный дистрибутив
• http://www.cloudera.com/hadoop
• 100% open-source
• В Cloudera работает большой процент коммитеров
Hadoop
• CDH распространяется в различных форматах
• RPM, Virtual Machine Images и tarballs
31. Cloudera Distribution for Hadoop (CDH)
• Включает большинство популярных
продуктов Hadoop
– HDFS, MapReduce, Hbase, Hive, Pig, Oozie,
Mahout, Sqoop, Zookeeper, Flume
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
32. Поддерживаемые операционные системы
• Каждый дистрибутив поддерживает свой
собственный набор операционных систем
• Обычно поддерживаются
– Red Hat Enterprise
– CentOS
– Oracle Linux
– Ubuntu
– SUSE Linux Enterprise Server
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
33. Ресурсы
• Apache Hadoop Documentation
– http://hadoop.apache.org
• Каждый отдельный продукт имеют свою
собственную документацию
• Каждый вендор Hadoop предоставляет свою
документацию
– https://ccp.cloudera.com/display/DOC/Documentation
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
34. Книги
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
Hadoop: The Definitive Guide
Tom White (Author)
O'Reilly Media; 3rd Edition
Hadoop. Подробное руководство
MapReduce Design Patterns
Donald Miner (Author), Adam Shook
(Author)
O'Reilly Media
35. Книги
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
HBase: The Definitive Guide
Lars George (Author)
O'Reilly Media; 1 edition
Data-Intensive Text Processing with
MapReduce
Jimmy Lin and Chris Dyer (Authors)
(April, 2010)
http://lintool.github.com/MapReduceAlg
orithms/index.html
36. Книги
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
Programming Pig
Alan Gates (Author)
O'Reilly Media; 1st Edition
Programming Hive
Edward Capriolo, Dean Wampler,
Jason Rutherglen (Authors)
O'Reilly Media; 1 edition
38. Hadoop на Cloudera VM
• Cloudera предоставляет пакеты для инсталляции
Hadoop на вирутальной машине.
– Т.о. можно использовать Hadoop для учебных целей на
различны ОС
• Скачать
– VirtualBox: программа для виртуализации на локальной
машине
• https://www.virtualbox.org/wiki/Downloads
– Cloudera QUickstart Virtual Machine (VM): Single-node
Hadoop кластер
• http://www.cloudera.com/content/support/en/downloads/quickstar
t_vms/cdh-5-1-x1.html
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
39. Импорт и запуск VM
• В VirtualBox Manager выбрать File->Import
Appliance
• Затем в окне ввода выбрать файл с Cloudera
VM
• Импортировать Cloudera VM
• После успешного импорта в VirtualBox
Manager надо запустить VM выбрав из
контекстного меню пункт “Start”
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
40. Компиляция wordcount.jar
• После запуска VM откройте терминал и введите:
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
[cloudera@localhost ~]$ pwd
/home/cloudera
#если другая директория, то перейдите в нужную
[cloudera@localhost ~]$ cd /home/cloudera/
• Затем откройте текстовый редактор (gedit) и
скопируйте туда код отсюда:
• https://www.cloudera.com/content/cloudera-content/cloudera-
docs/HadoopTutorial/CDH4/Hadoop-Tutorial/ht_wordcount1_source.html
• Затем сохраните файл с именем
“/home/cloudera/WordCount.java”
41. Компиляция wordcount.jar
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
#export CLASSPATH
[cloudera@localhost ~]$ export CLASSPATH=/usr/lib/hadoop/client-
0.20/*:/usr/lib/hadoop/*
#display the value of CLASSPATH
[cloudera@localhost ~]$ echo $CLASSPATH
/usr/lib/hadoop/client-0.20/*:/usr/lib/hadoop/*
#make a directory to store the to-be-compiled class
[cloudera@localhost ~]$ mkdir wordcount_classes
#compile the class, save it to the wordcount_classes directory
[cloudera@localhost ~]$ javac -d wordcount_classes/ WordCount.java
42. Компиляция wordcount.jar
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
#make the .jar file, which is to be used for directing word count job in Hadoop
[cloudera@localhost ~]$ jar -cvf wordcount.jar -C wordcount_classes/ .
added manifest
adding: org/(in = 0) (out= 0)(stored 0%)
adding: org/myorg/(in = 0) (out= 0)(stored 0%)
adding: org/myorg/WordCount.class(in = 1546) (out= 749)(deflated 51%)
adding: org/myorg/WordCount$Map.class(in = 1938) (out= 798)(deflated
58%)
adding: org/myorg/WordCount$Reduce.class(in = 1611) (out= 649)(deflated
59%)
#list files in the current directory. Now you should see the wordcount.jar file
listed there.
[cloudera@localhost ~]$ ls
43. Копирование файлов в HDFS
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
[cloudera@localhost ~]$ echo "Hello World Bye World" >file0
[cloudera@localhost ~]$ echo "Hello Hadoop Bye Hadoop" >file1
[cloudera@localhost ~]$ hadoop fs -mkdir /user/cloudera/wordcount
[cloudera@localhost ~]$ hadoop fs -mkdir /user/cloudera/wordcount/input
[cloudera@localhost ~]$ hadoop fs -put file0 /user/cloudera/wordcount/input
[cloudera@localhost ~]$ hadoop fs -put file1 /user/cloudera/wordcount/input
• В качестве примера мы запустим задачу подсчета
слов в файле
• Для этого создадим несколько текстовых файлов и
скопируем их в HDFS
44. Запуск MapReduce задачи в Hadoop
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
[cloudera@localhost ~]$ hadoop jar wordcount.jar org.myorg.WordCount
/user/cloudera/wordcount/input /user/cloudera/wordcount/output
• Запустим задачу в терминале
• Для этого надо указать путь в jar-файлу, основной,
input и output директории в HDFS
• Важно: output директория не должна существовать в
HDFS т.к. это приведет к ошибке запуска задачи
45. Проверка результатов
ЛЕКЦИЯ 2: HADOOP, ОСНОВЫ
[cloudera@localhost ~]$ hadoop fs -ls /user/cloudera/wordcount/output
Found 3 items
-rw-r--r-- 3 cloudera cloudera 0 2014-03-15 11:56 /user/cloudera/wordcount/output/_SUCCESS
drwxr-xr-x - cloudera cloudera 0 2014-03-15 11:56 /user/cloudera/wordcount/output/_logs
-rw-r--r-- 3 cloudera cloudera 31 2014-03-15 11:56 /user/cloudera/wordcount/output/part-00000
[cloudera@localhost ~]$ hadoop fs -cat /user/cloudera/wordcount/output/part-00000
Bye 2
Hadoop 2
Hello 2
World 2
• Результат будет находиться в отдельном
файле в output директории в HDFS