
How to ask questions, tune the video playback, enable captions, and leave reviews.
After a quick intro, we'll dive right in and install Hortonworks Sandbox in a virtual machine right on your own PC. This is the quickest way to get up and running with Hadoop so you can start learning and experimenting with it. We'll then download some real movie ratings data, and use Hive to analyze it!
The activities in this course use the Hortonworks Data Platform (HDP.) But Hortonworks merged with Cloudera, and they're working on a new thing called CDP. Don't worry... here's why.
What's Hadoop for? What problems does it solve? Where did it come from? We'll learn Hadoop's backstory in this lecture.
We'll take a quick tour of all the technologies we'll cover in this course, and how they all fit together. You'll come out of this lecture knowing all the buzzwords!
Learn how Hadoop's Distributed Filesystem allows you store massive data sets across a cluster of commodity computers, in a reliable and scalable manner.
Before we can analyze movie ratings data from GroupLens using Hadoop, we need to load it into HDFS. You don't need to mess with command lines or programming to use HDFS. We'll start by importing some real movie ratings data into HDFS just using a web-based UI provided by Ambari.
Developers might be more comfortable interacting with HDFS via the command line interface. We'll import the same data, this time from a terminal prompt.
Learn how mappers and reducers provide a clever way to analyze massive distributed datasets quickly and reliably.
Learn what makes MapReduce so powerful, by horizontally scaling across a cluster of computers.
Let's look at a very simple example of MapReduce - counting how many of each rating type exists in our movie ratings data.
Some versions of the Hortonworks sandbox will have trouble installing the pip and mrjob packages in the next lecture. Here's what to do.
The quickest and easiest way to get started with MapReduce is by using Python's MRJob package, which lets you use MapReduce's streaming feature to write MapReduce code in Python instead of Java. Let's get set up.
We'll study our code for building a breakdown of movie ratings, and actually run it on your system!
As a challenge, see if you can write your own MapReduce script that sorts movies by how many ratings they received. I'll give you some hints, set you off, and then review my solution to the problem.
Let's see how I solved the challenge from the previous lecture - we'll change our script to count movies instead of ratings, and then review and run my solution for sorting by rating count.
Ambari is Hortonworks' web-based UI (similar to Hue used by Cloudera.) We can use it as an easy way to experiment with Pig, so let's take a closer look at it before moving ahead.
An overview of what Pig is used for, who it's for, and how it works.
We'll use Pig to script a chain of queries on MovieLens to solve a more complex problem.
Let's actually run our example from the previous lecture on your Hadoop sandbox, and find some good, old movies!
We covered most of the basics of Pig in our example, but let's look at what else Pig Latin can do.
I'll give you some pointers, and challenge you to write your own Pig script that finds the most popular really bad movie!
Let's look at my code for finding the most popular bad movies, and you can compare my results to yours.
What's so special about Spark? Learn how its efficiency and versatility make Apache Spark one of the hottest Hadoop-related technologies right now, and how it achieves this under the hood.
The core building block of Spark is the RDD; learn how they are used and the functions available on them.
As an example, let's write a Spark script to find the movie with the lowest average rating. We'll start by doing it just with RDD's.
Spark 2.0 placed a new emphasis on Datasets and SparkSQL. Learn how Datasets can make your Spark scripts even faster and easier to write.
Let's revisit the previous problem of finding the lowest-rated movies, but this time using DataFrames.
As an example of the more complicated things Spark is capable of, we'll use Spark's machine learning library to produce movie recommendations using the ALS algorithm.
As a very simple exercise, we'll build upon our earlier activity to filter the results by movies with a given number of ratings.
We'll review my solution to the previous exercise, and run the resulting scripts.
An introduction to Apache Hive and how it enables relational queries on HDFS-hosted data.
We'll import the MovieLens data set into Hive using the Ambari UI, and run a simple query to find the most popular movies.
Learn how Hive works under the hood of your Hadoop cluster, to efficiently query your data across a cluster using SQL commands. Well, technically it's HiveQL, but it will definitely seem familiar.
As a challenge, use this same Hive database to find the best-rated movie.
Compare your solution to mine for the exercise of finding the highest-rated movies using Hive.
A quick overview of MySQL and how it might fit into your Hadoop-based work.
Let import the MovieLens data set into MySQL, and run a query to view the most popular movies just to see that's it's working.
Learn how Sqoop works as a way to transfer data from an existing RDBMS like MySQL into Hadoop.
Sqoop can also work the other way - let's build a new table with Hive and export it back into MySQL.
Learn why "NoSQL" databases are important for efficiently and scalably vending your data.
HBase is a NoSQL columnar data store that sits on top of Hadoop. Learn what it's for and how it works.
We'll import our movie ratings into HBase through a RESTful service interface, using a Python script running our desktop to both populate and query the table.
We'll see how HBase can integrate with Pig to store big data into HBase in a distributed manner.
Cassandra is a popular NoSQL database, that is appropriate for vending data at massive scale outside of Hadoop.
In the next lecture, we'll install Cassandra into your sandbox. It's a complicated process, and a lot can go wrong. Really, if you're not pretty comfortable with Linux, you might want to just watch the exercises that involve Cassandra instead of running them yourself.
One common issue is ending up in a state where your RPM database (which keeps track of what packages you have installed on your system) becomes corrupt. You'll experience this as seeing an error message like this:
rpmts_HdrFromFdno – error: rpmdbNextIterator – Header V3 RSA/SHA1 Signature, key ID BAD
If you encounter this, "yum" will no longer work at all. But, there is a way to fix it.
Just enter the following commands (you can paste them into PuTTY by right-clicking in the PuTTY terminal window after copying them; and be sure you've already run "su root" to run the following as the root user:)
cd ~
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64.rpm
rpm2cpio http://mirror.centos.org/centos/6/os/x86_64/Packages/nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64.rpm | cpio -idmv
cp ./lib64/libfreeblpriv3.* /lib64
Now, yum should work again. Note that if you do a big "yum update" and the ssl library is updated, you may lose your connection via PuTTY. If you're disconnected, wait a couple of minutes to allow yum to finish what it's doing, issue an ACPI Shutdown command to the virtual machine (via the Machine menu,) restart the sandbox, and connect again.
Cassandra isn't a part of Hortonworks, so we'll need to install it ourselves.
We'll modify our HBase example to write results into a Cassandra database instead, and look at the results.
MongoDB is a popular alternative to Cassandra. Learn what's different about it.
We'll install MongoDB on our virtual machine using Ambari. Then, we'll study and run a script to load up a Spark DataFrame of user data, store it into MongoDB, and query MongoDB to get users under 20 years old.
We'll query our movie user data using MongoDB's command line interface, and set up an index on it.
With so many options for choosing a database, how do you decide? We'll look at the requirements of given problems, such as consistency, latency, and scalability, and how that can inform your decision.
In the previous lecture, I challenged you to choose a database for a stock trading application. Let's talk about my own thought process in this decision, and see if we reached the same conclusion.
What is Drill and what problems does it solve?
We'll install Drill so we can play with it, after installing a Hive and MongoDB database to work with.
We'll use Drill to execute a query that spans data on MongoDB and Hive at the same time!
What is Phoenix for? How does it work?
We'll get our hands dirty with Phoenix and use it to query our HBase database.
We'll use Phoenix with Pig to store and load MovieLens users data, and accelerate queries on it.
What is Presto, and how does it differ from Drill and Phoenix?
We'll install Presto, and issue some queries on Hive through it.
We'll configure Presto to also talk to our Cassandra database that we set up earlier, and do a JOIN query that spans both data in Cassandra and Hive!
Learn how YARN works in more depth as it controls and allocates the resources of your Hadoop cluster.
Like Spark, Tez also uses Directed Acyclic Graphs to optimize tasks on your cluster. Learn how it works, and how it's different.
As an example of the power of Tez, we'll execute a Hive query with and without it.
Mesos is an alternative cluster manager to Hadoop YARN. Learn how it differs, who uses Mesos, and why.
Zookeeper is a deceptively simple service for maintaining states across your cluster, like which servers are in service, in a highly reliable manner. Learn how it works, and what systems depend on Zookeeper for reliable operation.
Let's use ZooKeeper's command line interface to explore how it works.
Oozie allows you to set up complex workflows on your cluster using multiple technologies, and schedule them. Let's look at some examples of how it works.
As a hands-on example, we'll use Oozie to import movie data into HDFS from MySQL using Sqoop, then analyze that data using Hive.
Apache Zeppelin provides a notebook-based environment for importing, transforming, and analyzing your data.
We'll set up a Zeppelin notebook to load movie ratings and titles into Spark dataframes, and interactively query and visualize them.
We'll set up a Zeppelin notebook to load movie ratings and titles into Spark dataframes, and interactively query and visualize them.
Apache Hue is a popular alternative to Ambari views, especially on Cloudera platforms. Let's see what it offers and how it's different.
Let's talk about Chukwa and Ganglia, just so you know what they are.
Learn how Kafka provides a scalable, reliable means for collecting data across a cluster of computers and broadcasting it for further processing.
We'll get Kafka running, and set it up to publish and consume some data from a new topic.
We'll simulate a web server by monitoring an Apache log files using a Kafka connector, and watch Kafka pick up new lines in it.
Flume is another way to publish logs from a cluster. Learn about sinks and Flume's architecture, and how it differs from Kafka.
As a simple way to get started with Flume, we'll connect a source listening to a telnet connection to a sink that just logs information received.
As something closer to a real-world example, we'll configure Flume to monitor a directory on our local filesystem for new files, and publish their data into HDFS, organized by the time the data was received.
Spark streaming allows you to write "continuous applications" that process micro-batches of information in real time. Learn how it works, about DStreams, windowing, and the new Structured Streaming API.
We'll write and run a Spark Streaming application that analyzes web logs as they are streamed in from Flume.
As a challenge, extend the previous activity to look for status codes in the web log and aggregate how often different status codes appear. Also, let's fiddle with the slide interval.
Let's review my solution to the previous exercise, and run it.
Storm is an alternative to Spark Streaming. Learn how it differs and is a true streaming solution.
We'll walk through, and run, the word count topology sample included with Storm.
Apache Flink is an up-and-coming alternative to Storm that offers a higher-level API. Let's talk about what sets it apart.
Let's install Flink and run a simple example with it.
아마존, IMDb에서 근무한 엔지니어들과 시니어 매니저들이 가르쳐주는 실전 강의!
Hadoop 튜토리얼을 통한 전반적인 이해와 실제 비즈니스 문제까지!
Hadoop을 넘어 모든 종류의 분산 시스템에 대한 내용을 담은 강의!
25가지의 기술을 포함, 다양한 실습과 연습문제 포함!
Hadoop 빅데이터 길들이기! 강의를 선택해야 하는 이유
Hadoop을 이해하는 것은 데이터 양이 많은 회사에서 일하는 모든 사람에게 매우 유용한 기술입니다.
Amazon, Ebay, Facebook, Google, LinkedIn, IBM, Spotify, Twitter, 그리고 Yahoo 등과 같은 여러분들이 일하고 싶은 대부분의 대기업들은 어떠한 방식으로든 Hadoop을 사용합니다. Hadoop이 필요한 것은 기술 회사뿐만이 아닙니다. New York Times에서도 이미지 처리에 Hadoop을 사용합니다.
이 강의는 포괄적입니다. 25가지 이상의 다양한 기술을 14시간의 비디오 강의 에 담았습니다 실습과 연습 문제로 가득 차 있으므로 Hadoop 사용에 대한 실제 경험을 얻을 수 있습니다. 단순히 이론만 있는 것이 아닙니다.
이 강의에서 모든 수준의 사람들을 위한 다양한 활동을 찾을 수 있습니다. 유행어를 배우고자 하는 프로젝트 관리자라면 이 강의에는 프로그래밍 지식이 필요하지 않은 많은 활동에 대한 웹 UI가 있습니다. 명령 줄에 익숙하다면 사용 방법도 보여드리겠습니다. 그리고 여러분이 프로그래머라면 Scala, Pig Latin, 그리고 Python을 사용하여 Hadoop 시스템에서 실제 스크립트를 작성하도록 도전하겠습니다.
여러분은 Hadoop 및 관련 분산 시스템에 대한 실제적이고 깊은 이해를 바탕으로 이 강의를 마치고 Hadoop을 실제 문제에 적용할 수 있습니다. 그리고 마지막에는 귀중하고 멋진 수료증이 여러분을 기다리고 있습니다!
이 강의의 초점은 Hadoop 관리가 아니라 애플리케이션 개발에 있습니다. 이 강의에서 몇 가지 관리 기술을 배우게 됩니다.
Hadoop 빅데이터 길들이기! 강의에서는 이런 내용을 학습합니다.
Hortonworks (현재 Cloudera의 일부) 및 Ambari UI 를 이용하여 데스크탑에 바로 실제 Hadoop을 설치하고 작업하는 법.
HDFS 그리고 맵리듀스를 이용해 클러스터에서 빅 데이터 관리
Pig 와 Spark를 이용해 Hadoop에서 데이터를 분석하는 프로그램 작성
Sqoop, Hive, MySQL, HBase, Cassandra, MongoDB, Drill, Phoenix 및 Presto를 사용하여 데이터 저장 및 쿼리
하둡 에코시스템을 사용하여 실제 시스템 설계
다음의 기능들을 사용하는 클러스터 관리 방법 알아보기: YARN, Mesos, Zookeeper, Oozie, Zeppelin, 그리고 Hue
실시간 스트리밍 데이터 처리 Kafka, Flume, Spark Streaming, Flink, 그리고 Storm
전 세계 81만 수강 강사 Frank Kane의 한마디
Hadoop 의 세계, 그리고 "빅 데이터"는 자칫 너무 어려워 보일 수도 있습니다 - Hadoop 에코시스템을 구성하는 수수께끼같은 이름을 가진 수백 가지의 다양한 기술이 모여 형성 되어 있기 때문이지요. 하지만 여러분들은 Hadoop 튜토리얼을 통해 이러한 시스템이 무엇이고 어떻게 서로 잘 맞는지 이해할 수 있을 뿐만 아니라 실제 비즈니스 문제를 해결하기 위해 이를 사용하는 방법도 직접 배울 수 있습니다!
이 완벽한 종합 과정에서 가장 인기 있는 빅 데이터 기술을 배우고 마스터하십시오. 이 강의는 아마존 그리고 IMDb에서 근무한 엔지니어들과 시니어 매니저들이 가르칩니다. 우리는 Hadoop 자체를 넘어 통합할 수 있는 모든 종류의 분산 시스템에 대해 자세히 알아볼 것입니다.
"빅 데이터"를 다루는 방법을 아는 것은 오늘날 TOP 테크 고용주에게 매우 귀중한 기술입니다. 뒤쳐지지 마세요 - 지금 강의에 등록하고 이 강의를 즐겨보시기 바랍니다!
강의를 들으시고 강의와 관련하여 궁금하신 점은 무엇이든 Q&A에 남기실 수 있지만, 꼭 영어로 남겨주세요. 그래야 답변을 드릴 수 있습니다. :)
-Frank
P.S. 제 강의에 대한 수강생들의 리뷰를 소개해 드립니다:
"Ultimate Hands-On Hadoop...은 저에게 중요한 발견이었습니다. 인터뷰를 할 수 있을 때까지 많은 문헌과 컨퍼런스로 강의를 보완했습니다. 저는 당신의 강의를 시작한 지 약 1년 만에 빅 데이터 엔지니어로 취업했다고 자랑스럽게 말할 수 있습니다. 당신이 생성한 모든 훌륭한 콘텐츠와 명확한 설명에 감사드립니다. " - 알도 세라노
"솔직히 이 강의가 없었다면 지금의 저는 없었을 것입니다. Frank는 프로세스의 모든 단계를 도와줌으로써 복잡한 것을 간단하게 만듭니다. 특히 Spark 환경을 적극 권장하고 시간을 할애할 가치가 있습니다. 이 강의를 통해 환경과 그 기능에 대해 훨씬 더 잘 이해할 수 있었습니다. Frank는 프로세스의 모든 단계를 도와줌으로써 복잡한 것을 간단하게 만듭니다. 특히 Spark 환경을 적극 권장하고 시간을 할애할 가치가 있습니다." - Tyler Buck