35 бесплатных онлайн-курсов по data science и аналитике данных
Содержание:
- Рынок технологий больших данных в России и мире
- Education
- Примеры задач, эффективно решаемых при помощи MapReduce
- What is Big Data?
- Какие используются инструменты и технологии big data
- Полезные ссылки
- Кто такой Big data engineer
- Applications of Data Analytics
- How big data analytics works
- Big data в бизнесе
- Spark в Kubernetes для обработки данных
- Airflow в Kubernetes для управления рабочими процессами
- The Lifecycle Phases of Big Data Analytics
- Healthcare Providers
- Insurance
- The big challenges of big data
- Образование в области Data Science: ничего невозможного нет
- Conclusion
Рынок технологий больших данных в России и мире
По данным на 2014 год 40% объема рынка больших данных составляют сервисные услуги. Немного уступает (38%) данному показателю выручка от использования Big Data в компьютерном оборудовании. Оставшиеся 22% приходятся на долю программного обеспечения.
Наиболее полезные в мировом сегменте продукты для решения проблем Big Data, согласно статистическим данным, – аналитические платформы In-memory и NoSQL . 15 и 12 процентов рынка соответственно занимают аналитическое ПО Log-file и платформы Columnar. А вот Hadoop/MapReduce на практике справляются с проблемами больших данных не слишком эффективно.
Результаты внедрения технологий больших данных:
- рост качества клиентского сервиса;
- оптимизация интеграции в цепи поставок;
- оптимизация планирования организации;
- ускорение взаимодействия с клиентами;
- повышение эффективности обработки запросов клиентов;
- снижение затрат на сервис;
- оптимизация обработки клиентских заявок.
Education
Industry-specific Big Data Challenges
From a technical point of view, a significant challenge in the education industry is to incorporate Big Data from different sources and vendors and to utilize it on platforms that were not designed for the varying data.
From a practical point of view, staff and institutions have to learn new data management and analysis tools.
On the technical side, there are challenges to integrating data from different sources on different platforms and from different vendors that were not designed to work with one another.
Politically, issues of privacy and personal data protection associated with Big Data used for educational purposes is a challenge.
Applications of Big Data in Education
Big data is used quite significantly in higher education. For example, The University of Tasmania. An Australian university with over 26000 students has deployed a Learning and Management System that tracks, among other things, when a student logs onto the system, how much time is spent on different pages in the system, as well as the overall progress of a student over time.
In a different use case of the use of Big Data in education, it is also used to measure teacher’s effectiveness to ensure a pleasant experience for both students and teachers. Teacher’s performance can be fine-tuned and measured against student numbers, subject matter, student demographics, student aspirations, behavioral classification, and several other variables.
On a governmental level, the Office of Educational Technology in the U. S. Department of Education is using Big Data to develop analytics to help correct course students who are going astray while using online Big Data certification courses. Click patterns are also being used to detect boredom.
Big Data Providers in this industry include Knewton and Carnegie Learning and MyFit/Naviance.
Примеры задач, эффективно решаемых при помощи MapReduce
Word Count
Начнём с классической задачи – Word Count. Задача формулируется следующим образом: имеется большой корпус документов. Задача – для каждого слова, хотя бы один раз встречающегося в корпусе, посчитать суммарное количество раз, которое оно встретилось в корпусе.
Решение:
Раз имеем большой корпус документов – пусть один документ будет одной входной записью для MapRreduce–задачи. В MapReduce мы можем только задавать пользовательские функции, что мы и сделаем (будем использовать python-like псевдокод):
Функция map превращает входной документ в набор пар (слово, 1), shuffle прозрачно для нас превращает это в пары (слово, ), reduce суммирует эти единички, возвращая финальный ответ для слова.
Обработка логов рекламной системы
Задача: имеется csv-лог рекламной системы вида:
Решение:
Функция map проверяет, нужна ли нам данная запись – и если нужна, оставляет только нужную информацию (город и размер платежа). Функция reduce вычисляет финальный ответ по городу, имея список всех платежей в этом городе.
What is Big Data?
Big data refers to significant volumes of data that cannot be processed effectively with the traditional applications that are currently used. The processing of big data begins with raw data that isn’t aggregated and is most often impossible to store in the memory of a single computer.
A buzzword that is used to describe immense volumes of data, both unstructured and structured, big data can inundate a business on a day-to-day basis. Big data is used to analyze insights, which can lead to better decisions and strategic business moves.
Gartner provides the following definition of big data: “Big data is high-volume, and high-velocity or high-variety information assets that demand cost-effective, innovative forms of information processing that enable enhanced insight, decision making, and process automation.”
Какие используются инструменты и технологии big data
Поскольку данные хранятся на кластере, для работы с ними нужна особая инфраструктура. Самая популярная экосистема — это Hadoop. В ней может работать очень много разных систем: специальных библиотек, планировщиков, инструментов для машинного обучения и многого другое. Но в первую очередь эта система нужна, чтобы анализировать большие объемы данных за счет распределенных вычислений.
Например, мы ищем самый популярный твит среди данных разбитых на тысяче серверов. На одном сервере мы бы просто сделали таблицу и все. Здесь мы можем притащить все данные к себе и пересчитать. Но это не правильно, потому что очень долго.
Поэтому есть Hadoop с парадигмами Map Reduce и фреймворком Spark. Вместо того, чтобы тянуть данные к себе, они отправляют к этим данным участки программы. Работа идет параллельно, в тысячу потоков. Потом получается выборка из тысячи серверов на основе которой можно выбрать самый популярный твит.
Map Reduce более старая парадигма, Spark — новее. С его помощью достают данные из кластеров, и в нем же строят модели машинного обучения.
Полезные ссылки
- бесплатные курсы: Основы статистики;
- тренажеры: SQL;
- полезные материалы по продуктовой аналитике от команды МатеМаркетинга;
- чат с вакансиями в сфере анализа данных;
- канал с полезными материалами про работу с данными.
Артем Боровой: На мой взгляд, самый удобный путь — начать применять инструменты аналитика в своей текущей работе. Можно постепенно изучать языки и программы, а потом использовать их для своих задач. Конечно, не у всех может быть доступ к данным по месту работы, но для таких случаев есть площадки для самостоятельного обучения. Онлайн-курсы в этом плане проще и удобнее, так как человеку не нужно самому отбирать информацию, они помогают пройти по всем важным пунктам, дают материал в нужном темпе, погружают в комьюнити.
Кто такой Big data engineer
Задачи, которые выполняет инженер больших данных, входят в цикл разработки машинного обучения. Его работа тесно связана с аналитикой данных и data science.
Главная задача Data engineer — построить систему хранения данных, очистить и отформатировать их, а также настроить процесс обновления и приёма данных для дальнейшей работы с ними. Помимо этого, инженер данных занимается непосредственным созданием моделей обработки информации и машинного обучения.
Инженер данных востребован в самых разных сферах: e-commerce, финансах, туризме, строительстве — в любом бизнесе, где есть поток разнообразных данных и потребность их анализировать.
С технической стороны, наиболее частыми задачами инженера данных можно считать:
Разработка процессов конвейерной обработки данных. Это одна из основных задач BDE в любом проекте. Именно создание структуры процессов обработки и их реализация в контексте конкретной задачи. Эти процессы позволяют с максимальной эффективностью осуществлять ETL (extract, transform, load) — изъятие данных, их трансформирование и загрузку в другую систему для последующей обработки. В статичных и потоковых данных эти процессы значительно различаются. Для этого чаще всего используются фреймворки Kafka, Apache Spark, Storm, Flink, а также облачные сервисы Google Cloud и Azure.
Хранение данных. Разработка механизма хранения и доступа к данным — еще одна частая задача дата-инженеров. Нужно подобрать наиболее соответствующий тип баз данных — реляционные или нереляционные, а затем настроить сами процессы.
Обработка данных. Процессы структурирования, изменения типа, очищения данных и поиска аномалий во всех этих алгоритмах. Предварительная обработка может быть частью либо системы машинного обучения, либо системы конвейерной обработки данных.
Разработка инфраструктуры данных. Дата-инженер принимает участие в развёртывании и настройке существующих решений, определении необходимых ресурсных мощностей для программ и систем, построении систем сбора метрик и логов.
В иерархии работы над данными инженер отвечает за три нижние ступеньки: сбор, обработку и трансформацию данных.
Applications of Data Analytics
-
The main challenge for hospitals is to treat as many patients as they efficiently can, while also providing a high. Instrument and machine data are increasingly being used to track and optimize patient flow, treatment, and equipment used in hospitals. It is estimated that there will be a one percent efficiency gain that could yield more than $63 billion in global healthcare savings by leveraging software from data analytics companies.
-
Data analytics can optimize the buying experience through mobile/weblog and social media data analysis. Travel websites can gain insights into the customer’s preferences. Products can be upsold by correlating current sales to the subsequent browsing increase in browse-to-buy conversions via customized packages and offers. Data analytics that is based on social media data can also deliver personalized travel recommendations.
-
Data analytics helps in collecting data to optimize and spend within and across games. Gaming companies are also able to learn more about what their users like and dislike.
-
Most firms are using data analytics for energy management, including smart-grid management, energy optimization, energy distribution, and building automation in utility companies. The application here is centered on the controlling and monitoring of network devices and dispatch crews, as well as managing service outages. Utilities have the ability to integrate millions of data points in the network performance and gives engineers the opportunity to use the analytics to monitor the network.
How big data analytics works
Big data analytics refers to collecting, processing, cleaning, and analyzing large datasets to help organizations operationalize their big data.
1. Collect Data
Data collection looks different for every organization. With today’s technology, organizations can gather both structured and unstructured data from a variety of sources — from cloud storage to mobile applications to in-store IoT sensors and beyond. Some data will be stored in data warehouses where business intelligence tools and solutions can access it easily. Raw or unstructured data that is too diverse or complex for a warehouse may be assigned metadata and stored in a data lake.
2. Process Data
Once data is collected and stored, it must be organized properly to get accurate results on analytical queries, especially when it’s large and unstructured. Available data is growing exponentially, making data processing a challenge for organizations. One processing option is batch processing, which looks at large data blocks over time. Batch processing is useful when there is a longer turnaround time between collecting and analyzing data. Stream processing looks at small batches of data at once, shortening the delay time between collection and analysis for quicker decision-making. Stream processing is more complex and often more expensive.
3. Clean Data
Data big or small requires scrubbing to improve data quality and get stronger results; all data must be formatted correctly, and any duplicative or irrelevant data must be eliminated or accounted for. Dirty data can obscure and mislead, creating flawed insights.
4. Analyze Data
Getting big data into a usable state takes time. Once it’s ready, advanced analytics processes can turn big data into big insights. Some of these big data analysis methods include:
Big data в бизнесе
Для оптимизации расходов внедрил Big data и «Магнитогорский металлургический комбинат», который является крупным мировым производителем стали. В конце прошлого года они внедрили сервис под названием «Снайпер», который оптимизирует расход ферросплавов и других материалов при производстве. Сервис обрабатывает данные и выдаёт рекомендации для того, чтобы сэкономить деньги на производстве стали.
Большие данные и будущее — одна из самых острых тем для обсуждения, ведь в основе коммерческой деятельности лежит информация. Идея заключается в том, чтобы «скормить» компьютеру большой объем данных и заставить его отыскивать типовые алгоритмы, которые не способен увидеть человек, или принимать решения на основе процента вероятности в том масштабе, с которым прекрасно справляется человек, но который до сих пор не был доступен для машин, или, возможно, однажды — в таком масштабе, с которым человек не справится никогда.
Spark в Kubernetes для обработки данных
Сейчас стандартом в отрасли для обработки больших данных является Spark — быстрая и универсальная платформа обработки данных.
Преимущества запуска Spark в Kubernetes:
- Гибкое масштабирование. Kubernetes как сервис в облаке позволяет получить гибко масштабируемую систему. Например, обычно для вашего Spark-приложения достаточно 10 ядер, но раз в неделю для сложных расчетов нужно 100 или 1000 ядер. Когда нагрузка от приложения возрастает, Kubernetes как сервис в облаке может предоставить необходимые ресурсы с помощью автоматического масштабирования. Когда нагрузка уменьшится, эти ресурсы автоматически вернутся в облако. Так вы заплатите лишь за то время, когда действительно потребляли эти ресурсы.
- Изоляция сред. Типичная проблема большого Hadoop-кластера — совместимость различных версий программ и библиотек. Например, сейчас вы используете Spark 2.4, все ваши потоки и приложения протестированы и работают в этой версии. Выходит версия 3, и, чтобы обновить Spark в кластере, нужно протестировать все приложения, а некоторые из них, возможно, придется доработать. Kubernetes решает эти проблемы через контейнеризацию. Контейнеры позволяют создавать отдельные независимые среды, которые никак не влияют на соседние. Так можно запускать в кластере одновременно несколько разных версий Spark или других библиотек и приложений. А когда выходит новая версия, нужно просто собрать новый образ без необходимости обновления и ревизии старых приложений.
Как запустить Spark в Kubernetes:
- Spark-Submit — это Spark-way. При этом в качестве мастера нужно указать кластер Kubernetes. В этом случае Kubernetes не знает, что внутри него работает Spark, для него это будет просто очередным приложением. Из-за этого труднее получить доступ к логам и проверять статус ваших приложений.
- Kubernetes Operator for Spark — это Kubernetes-way. Это более правильный способ взаимодействия Kubernetes и Spark. В этом случае Kubernetes знает, что внутри него работает Spark, это решает проблемы с доступом к логам и получением текущего статуса ваших приложений. Также это позволяет описывать приложения декларативным способом: мы описываем желаемое состояние, а Kubernetes сам стремится привести приложение к этому состоянию. Мы рекомендуем использовать именно этот способ.
Полезные ссылки:
- Kubernetes Operator for Spark.
- Сравнение Spark-Submit и Kubernetes Operator.
Airflow в Kubernetes для управления рабочими процессами
Чтобы наполнять хранилище данных, необходим оркестратор, или платформа управления рабочими процессами. Он позволяет создавать расписание для задач и указывать последовательность их запуска в зависимости от результата выполнения предыдущей задачи. Сейчас де-факто стандарт в этой области — Airflow, платформа для разработки, планирования и мониторинга потоков обработки данных.
Преимущества запуска Airflow в Kubernetes те же, что и для других инструментов: гибкое масштабирование и изолированная среда.
Как запустить Airflow в Kubernetes:
- KubernetesPodOperator — в этом случае в Kubernetes выносятся только некоторые Airflow-задачи. На каждую из них внутри Kubernetes будет создан отдельный под. В качестве Executor по-прежнему используют CeleryExecutor, это традиционный способ использования Airflow.
- KubernetesExecutor — в этом случае на каждую Airflow-задачу будет создан отдельный Worker непосредственно внутри Kubernetes, который уже будет создавать при необходимости новые поды. Если одновременно использовать KubernetesPodOperator и KubernetesExecutor, тогда сначала создается первый под — Worker. Затем он создаст следующий под и запустит Airflow-задачу в нем. Этот метод хорош тем, что позволяет создавать Worker только по требованию, тем самым экономит ресурсы, но при этом в момент роста нагрузки позволяет масштабироваться, то есть выделять большее число ресурсов. При этом нужно учесть, что поды создаются не мгновенно. Поэтому, если у вас сотни или тысячи задач, которые работают всего несколько минут, лучше использовать CeleryExecutor, а некоторую часть нагрузок вынести в Kubernetes с помощью KubernetesPodOperator.
По умолчанию Airflow, запущенный в Kubernetes, будет хранить логи во временном хранилище. Чтобы логи были всегда доступны, нужно подключить постоянное хранилище, например S3. В принципе, это касается всех инструментов, запускаемых в Kubernetes.
Полезные ссылки:
- Airflow в Kubernetes.
- Введение в KubernetesExecutor и KubernetesPodOperator.
- Документация Airflow в Kubernetes.
- KubernetesExecutor.
- KubernetesPodOperator.
- Helm Chart.
The Lifecycle Phases of Big Data Analytics
Now, let’s review how Big Data analytics works:
- Stage 1 — Business case evaluation — The Big Data analytics lifecycle begins with a business case, which defines the reason and goal behind the analysis.
- Stage 2 — Identification of data — Here, a broad variety of data sources are identified.
- Stage 3 — Data filtering — All of the identified data from the previous stage is filtered here to remove corrupt data.
- Stage 4 — Data extraction — Data that is not compatible with the tool is extracted and then transformed into a compatible form.
- Stage 5 — Data aggregation — In this stage, data with the same fields across different datasets are integrated.
- Stage 6 — Data analysis — Data is evaluated using analytical and statistical tools to discover useful information.
- Stage 7 — Visualization of data — With tools like Tableau, Power BI, and QlikView, Big Data analysts can produce graphic visualizations of the analysis.
- Stage 8 — Final analysis result — This is the last step of the Big Data analytics lifecycle, where the final results of the analysis are made available to business stakeholders who will take action.
Healthcare Providers
Industry-specific Big Data Challenges
The healthcare sector has access to huge amounts of data but has been plagued by failures in utilizing the data to curb the cost of rising healthcare and by inefficient systems that stifle faster and better healthcare benefits across the board.
This is mainly because electronic data is unavailable, inadequate, or unusable. Additionally, the healthcare databases that hold health-related information have made it difficult to link data that can show patterns useful in the medical field.
Source: Big Data in the Healthcare Sector Revolutionizing the Management of Laborious Tasks
Other challenges related to Big Data include the exclusion of patients from the decision-making process and the use of data from different readily available sensors.
Applications of Big Data in the Healthcare Sector
Some hospitals, like Beth Israel, are using data collected from a cell phone app, from millions of patients, to allow doctors to use evidence-based medicine as opposed to administering several medical/lab tests to all patients who go to the hospital. A battery of tests can be efficient, but it can also be expensive and usually ineffective.
Free public health data and Google Maps have been used by the University of Florida to create visual data that allows for faster identification and efficient analysis of healthcare information, used in tracking the spread of chronic disease.
Obamacare has also utilized Big Data in a variety of ways.
Big Data Providers in this industry include Recombinant Data, Humedica, Explorys, and Cerner.
Insurance
Industry-specific Big Data Challenges
Lack of personalized services, lack of personalized pricing, and the lack of targeted services to new segments and specific market segments are some of the main challenges.
In a survey conducted by Marketforce challenges identified by professionals in the insurance industry include underutilization of data gathered by loss adjusters and a hunger for better insight.
Applications of Big Data in the Insurance Industry
Big data has been used in the industry to provide customer insights for transparent and simpler products, by analyzing and predicting customer behavior through data derived from social media, GPS-enabled devices, and CCTV footage. The Big Data also allows for better customer retention from insurance companies.
When it comes to claims management, predictive analytics from Big Data has been used to offer faster service since massive amounts of data can be analyzed mainly in the underwriting stage. Fraud detection has also been enhanced.
Through massive data from digital channels and social media, real-time monitoring of claims throughout the claims cycle has been used to provide insights.
Big Data Providers in this industry include Sprint, Qualcomm, Octo Telematics, The Climate Corp.
The big challenges of big data
Big data brings big benefits, but it also brings big challenges such new privacy and security concerns, accessibility for business users, and choosing the right solutions for your business needs. To capitalize on incoming data, organizations will have to address the following:
- Making big data accessible. Collecting and processing data becomes more difficult as the amount of data grows. Organizations must make data easy and convenient for data owners of all skill levels to use.
- Maintaining quality data. With so much data to maintain, organizations are spending more time than ever before scrubbing for duplicates, errors, absences, conflicts, and inconsistencies.
- Keeping data secure. As the amount of data grows, so do privacy and security concerns. Organizations will need to strive for compliance and put tight data processes in place before they take advantage of big data.
- Finding the right tools and platforms. New technologies for processing and analyzing big data are developed all the time. Organizations must find the right technology to work within their established ecosystems and address their particular needs. Often, the right solution is also a flexible solution that can accommodate future infrastructure changes.
Образование в области Data Science: ничего невозможного нет
Сегодня для тех, кто хочет развиваться в сфере анализа больших данных, существует очень много возможностей: различные образовательные курсы, специализации и программы по data science на любой вкус и кошелек, найти подходящий для себя вариант не составит труда. С моими рекомендациями по курсам можно ознакомиться здесь.
Потому как Data Scientist — это человек, который знает математику. Анализ данных, технологии машинного обучения и Big Data – все эти технологии и области знаний используют базовую математику как свою основу.
Читайте по теме: 100 лучших онлайн-курсов от университетов Лиги плюща Многие считают, что математические дисциплины не особо нужны на практике. Но на самом деле это не так.
Приведу пример из нашего опыта. Мы в E-Contenta занимаемся рекомендательными системами. Программист может знать, что для решения задачи рекомендаций видео можно применить матричные разложения, знать библиотеку для любимого языка программирования, где это матричное разложение реализовано, но совершенно не понимать, как это работает и какие есть ограничения. Это приводит к тому, что метод применяется не оптимальным образом или вообще в тех местах, где он не должен применяться, снижая общее качество работы системы.
Хорошее понимание математических основ этих методов и знание их связи с реальными конкретными алгоритмами позволило бы избежать таких проблем.
Кстати, для обучения на различных профессиональных курсах и программах по Big Data зачастую требуется хорошая математическая подготовка.
«А если я не изучал математику или изучал ее так давно, что уже ничего и не помню»? — спросите вы. «Это вовсе не повод ставить на карьере Data Scientist крест и опускать руки», — отвечу я.
Есть немало вводных курсов и инструментов для новичков, позволяющих освежить или подтянуть знания по одной из вышеперечисленных дисциплин. Например, специально для тех, кто хотел бы приобрести знания математики и алгоритмов или освежить их, мы с коллегами разработали специальный курс GoTo Course. Программа включает в себя базовый курс высшей математики, теории вероятностей, алгоритмов и структур данных — это лекции и семинары от опытных практиков
Особое внимание отведено разборам применения теории в практических задачах из реальной жизни. Курс поможет подготовиться к изучению анализа данных и машинного обучения на продвинутом уровне и решению задач на собеседованиях
15 сентября в Москве состоится конференция по большим данным Big Data Conference. В программе — бизнес-кейсы, технические решения и научные достижения лучших специалистов в этой области. Приглашаем всех, кто заинтересован в работе с большими данными и хочет их применять в реальном бизнесе. |
Ну а если вы еще не определились, хотите ли заниматься анализом данных и хотели бы для начала оценить свои перспективы в этой профессии, попробуйте почитать специальную литературу, блоги о науке данных или посмотреть лекции. Например, рекомендую почитать хабы по темам Data Mining и Big Data на Habrahabr. Для тех, кто уже хоть немного в теме, со своей стороны порекомендую книгу «Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных» Петера Флаха — это одна из немногих книг по машинному обучению на русском языке.
Заниматься Data Science так же трудно, как заниматься наукой в целом. В этой профессии нужно уметь строить гипотезы, ставить вопросы и находить ответы на них. Само слово scientist подталкивает к выводу, что такой специалист должен, прежде всего, быть исследователем, человеком с аналитическим складом ума, способный делать обоснованные выводы из огромных массивов информации в достаточно сжатые строки. Скрупулезный, внимательный, точный — чаще всего он одновременно и программист, и математик.
Conclusion
In this write-up Data Science vs. Big Data vs. Data Analytics, we discussed minor and major differences between Data Science vs. Big Data vs. Data Analytics such as definition, application, skills, and salary-related to the specific position.
Are you planning to take a course on Data Science, Big Data, or Data Analytics? I suggest you check out the Simplilearn course.
The course has in-depth technical content on Data Science, Big Data, and Data Analytics.
If you have any questions related to this article Data Science vs. Big Data vs. Data Analytics, please drop your queries in the comments section below.