Hadoop五分钟入门指南

简介: 《Hadoop五分钟入门指南》原文见:http://blog.josedacruz.com/2013/12/09/hadoop-in-5-minutes-for-beginners/#.Uqhs3_Q6Cjt如果你有大量的数据(TB级),而且这些数据到处分散,且有些数据是结构化的,有些数据不是。

《Hadoop五分钟入门指南》

原文见:http://blog.josedacruz.com/2013/12/09/hadoop-in-5-minutes-for-beginners/#.Uqhs3_Q6Cjt

如果你有大量的数据(TB级),而且这些数据到处分散,且有些数据是结构化的,有些数据不是。你想查询这些数据,你或许在想,“我需要力量来组织和查询这些数据”。是的,你需要Hadoop。

一、什么是Hadoop?

Apache Hadoop软件库是一个框架,它可以对大数据集使用简单的编程模型做跨集群的分布式处理。Hadoop在设计上可以从单服务器节点扩展到成千上万的服务器节点,每个节点都能提供本地计算和存储。

HDFS——分布式文件系统,MapReduce模式的实现。

HDFS是一个文件系统,分布在系统中的所有机器上,但是你只能把它视为单个的文件系统,因为它是分布式的、跨主机的。那么,我的本地文件系统是怎样的?HDFS工作于本地文件系统之上。

MapReduce是一个模式,处理大数据集(当然你也可以用于处理小数据集,因为MapReduce只是一个模式,而不是产品,它可以使用任意编程语言来实现)。Hadoop使用MapReduce模式运行数据集上的查询。(它使用任务Task、工作Job等处理你的请求,而且总是使用MapReduce模式执行任务)。

那么,现在你有了一个分布式文件系统,以及一个任务和工作的引擎以运行采用MapReduce模式实现的应用程序。是的,是这样的。

所以,我怎样查询所有的数据呢?好吧,你可以用任意语言实现应用程序,通常使用Java控制任务Task、工作Job,用Map和Reduce函数实现MapReduce模式。有许多工作要做。你还可以使用其他的大数据技术,帮助你实现这些在数据集上的查询和处理操作,这些技术通常是基于某个特定平台或编程语言的。

1)Pig

Pig是一个基于Apache Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口,使用者可以透过Python或者JavaScript编写Java,之后再重新转写。

/* id.pig */

A = load 'passwd' using PigStorage(':');  -- load the passwd file 
B = foreach A generate $0 as id;  -- extract the user IDs 
store B into ‘id.out’;  -- write the results to a file name id.out

2)Hive

Hive是数据仓库工具,可查询和管理驻留在分布式存储上的大数据集。

CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);
LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

3)Jaql

Jaql:来自IBM BigInsights的JSON语言。

//
// Bind to variable
$log  = read(hdfs(“log”));
$user = read(hdfs(“user”));
//
// Query 1: filter and transform
$log
-> filter $.from == 101
-> transform { mandatory: $.msg };
// result …
[
{
"mandatory": "Hello, world!"
}
]

二、总结

你安装Hadoop后,你就得到了一个HDFS和MapReduce引擎。要查询数据,你需要开发自己的代码,可使用像Pig、Hive、Jaql之类的语言来处理MapReduce。这些语言的查询总是会被转换成MapReduce实现,你无需担忧MapReduce的实现,这就是为什么它很快,以及为什么你处理的数据分布在上千台机器的原因。


注:本文采用意译,有些无关的口水话省略掉了。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
存储 SQL 缓存
Hadoop入门(一篇就够了)
Hadoop入门(一篇就够了)
2425 0
Hadoop入门(一篇就够了)
|
5月前
|
存储 分布式计算 资源调度
Hadoop入门(一篇就够了)(上)
Hadoop入门(一篇就够了)(上)
81 0
|
5月前
|
缓存 分布式计算 安全
Hadoop入门(一篇就够了)(下)
Hadoop入门(一篇就够了)(下)
35 0
|
分布式计算 安全 Hadoop
hadoop 入门 java.net.ConnectException: Connection refused
hadoop 入门 java.net.ConnectException: Connection refused
188 0
hadoop3自学入门笔记(3)-java 操作hdfs
hadoop3自学入门笔记(3)-java 操作hdfs
108 0
|
分布式计算 Hadoop Java
hadoop3自学入门笔记(2)—— HDFS分布式搭建
hadoop3自学入门笔记(2)—— HDFS分布式搭建
126 0
hadoop3自学入门笔记(2)—— HDFS分布式搭建
|
分布式计算 Hadoop Linux
hadoop3自学入门笔记(1)——虚拟机安装和网络配置
hadoop3自学入门笔记(1)——虚拟机安装和网络配置
260 0
hadoop3自学入门笔记(1)——虚拟机安装和网络配置
|
存储 分布式计算 资源调度
第1章 Hadoop 入门
第1章 Hadoop 入门
302 0
|
分布式计算 Hadoop
Hadoop 入门到实践
Hadoop 入门到实践
78 0
Hadoop 入门到实践
|
分布式计算 Ubuntu IDE
大数据入门系列 5:全网最全,Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作
大数据入门系列 5:全网最全,Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作
1174 0
大数据入门系列 5:全网最全,Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作

热门文章

最新文章

相关实验场景

更多