升级版:深入浅出Hadoop实战开发(云存储、MapReduce、HBase实战微博、Hive应用、Storm应用)
Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。
Hadoop带有用Java 语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。本课程的讲解是采用linux平台进行模拟讲解,完全基于真实场景进行模拟现实
01,课程介绍,HDFS架构和原理,搭建CentOS开发环境
> Hadoop背景
> HDFS设计目标,应用场景,架构分析
> 使用Virtual安装CentOS虚拟机
> 虚拟机环境配置
02,hdfs单机和集群的配置安装
> Hadoop单机版安装和配置
> Hadoop集群安装和配置
> Hadoop命令行和WebUI的使用
03,hdfs应用-云存储系统(1)
> 云存储系统介绍和基本架构
> 搭建Eclipse和Maven开发环境
> 使用Maven创建并配置Struts2应用
> 使用bootstrap搭建UI框架
04,hdfs应用-云存储系统(2)
> 安装和配置Redis
> 用户管理模块开发
05,hdfs应用-云存储系统(3)
> gson介绍和使用实例
> 实现普通的文件上传,删除,下载
06,hdfs应用-云存储系统(4)
> 实现基于HDFS的上传,下载和删除
> HDFS小文件管理方式:SequenceFile和Har
07,深入hdfs-NameNode和DataNode
> hdfs的架构介绍
> hdfs如何读写文件
> FSImage和EditLog
> Rack Awareness
> hdfs基本管理
08,深入hdfs-HDFS federation
> HDFS节点管理
> HDFS升级和回滚
> HDFS Federation
> 如何使用ViewFS
09,namenode HA
> zookeeper配置
> namenode HA(双机)安装和配置
10,yarn和mapreduce
> 配置Yarn(单机和集群)
> MapReduce的工作原理
> 第一个MapRedcue程序
> Yarn命令行工具
11,mapreduce应用-搜索提示(1)
> 工作原理介绍(Ajax)
> 使用JQuery的AutoComplete控件搭建UI
12,mapreduce应用-搜索提示(2)
> 继承Mapreduce程序
> 使用Redis保存中间数据
> 如何对增量和全量数据进行统计
> ”潜在好友推荐“算法介绍
13,mapreduce的采样工具和partitiion
> 采样和分区的工作原理
> RandomSampler,InputSampler,IntervalSampler
> TotalOrderPartitioner(全局排序)
14,Map Join和Reduce Join
> Reduce side join
> Map side join
> 如何自定义数据类型
> 如何使用DistributedCache
15,mapreduce应用-PageRank
> PageRank算法详细讲解
> 如何用mapreduce实现PageRank算法
16, Hive入门
> Hive的架构
> CLI, Hive Server, HWI介绍
> 配置Hive,使用Mysql存储元数据
> CLI的基本使用
17, hive应用-搜索提示(1)
> Tomcat日志解析
> 使用正则表达式解析Tomcat日志
> 在查询中使用正则表达式
18, hive应用-搜索提示(2)
> 在hive查询中调用python脚本实现Redis插入
19,HQL(1)
> HQL基础:DDL,DML
> 数据类型:原子与集合
> TextFile的默认编码及自定义编码
20,HQL(2)
> Hive查询
> 正则表达式,基本函数,集合函数,表函数
> 嵌套查询,case when语句,like和rlike
> Groupby和Having等
21,Hive自定义函数
> 如何编写自定义函数
> 在自定义函数中连接Redis
> 在自定义函数中使用CacheFile
22,Compression in Hadoop
> Compression in Hadoop介绍
> 在MapReduce和Hive中使用Compression
> 安装和配置lzo
23,24, HBase入门
> Hbase架构
> Hbase集群安装
> 使用HBase Shell
25,26,27,HBase应用 - 话单查询
> Hbase Java API
> Struts2 and JSP
> Jquery Datatable and Datepicker
28,29,30,HBase应用 - 微博
> 表结构设计
> 关注好友
> 发微博
> 我的主页
31,32,Storm入门
> Storm架构及原理介绍
> 安装Storm
> 实现第一个topology
> Storm的grouping
33,Queue spout和DRPC
34,35,storm应用 - 语音话单计费
> 搭建计费topology
> 实现Queue spout和Mysql入库bolt
> 实现漫游和长途类型计算
> 计费逻辑的实现
> 整合所有功能到topology中
> 各个功能模块的验证
升级版:深入浅出Hadoop实战开发(云存储、MapReduce、HBase实战微博、Hive应用、Storm应用)的更多相关文章
- 微信小程序云开发-云存储的应用-识别通用印刷体
一.准备工作 1.创建云函数identify 2.云函数identify中index.js代码 1 // 云函数入口文件 2 const cloud = require('wx-server-sdk' ...
- 微信小程序云开发-云存储的应用-识别营业执照
一.准备工作 1.创建云函数identify 二.云函数identify中index.js代码 1 // 云函数入口文件 2 const cloud = require('wx-server-sdk' ...
- 微信小程序云开发-云存储的应用-识别行驶证
一.准备工作 1.创建云函数identify 2.云函数identify中index.js代码 1 // 云函数入口文件 2 const cloud = require('wx-server-sdk' ...
- 微信小程序云开发-云存储的应用-识别驾驶证
一.准备工作 1.创建云函数identify 2.云函数identify中index.js代码 1 // 云函数入口文件 2 const cloud = require('wx-server-sdk' ...
- 微信小程序云开发-云存储的应用-识别银行卡
一.准备工作 1.创建云函数identify.自定义action=="2"的时候识别银行卡信息. 2.云函数identify中index.js代码 1 const cloud = ...
- 微信小程序云开发-云存储的应用-识别身份证(正面和反面)
一.准备工作 1.创建云函数identify 2.云函数identify中index.js代码 1 // 云函数入口文件 2 const cloud = require('wx-server-sdk' ...
- 微信小程序云开发-云存储的应用-云相册
一.准备工作 1.创建数据库表images 2.设置数据库表images的权限 二.创建图片列表页 创建图片列表页imageList,用于展示图片列表.该页面具有跳转到图片上传页面.图片列表展示.删除 ...
- 微信小程序云开发-云存储-下载并打开文件文件(word/excel/ppt/pdf)
一.wxml文件 1.写文本框,用来获取文件链接. 2.按钮,点击下载文件 <!-- 下载文件(word/excel/ppt/pdf等) --> <view class=" ...
- 微信小程序云开发-云存储-上传文件(word/excel/ppt/pdf)到云存储
说明 word/excel/ppt/pdf是从客户端会话选择文件.使用chooseMessageFile中选择文件. 一.wxml文件 上传按钮,绑定chooseFile <!--上传文件(wo ...
随机推荐
- 聊聊高并发(二十五)解析java.util.concurrent各个组件(七) 理解Semaphore
前几篇分析了一下AQS的原理和实现.这篇拿Semaphore信号量做样例看看AQS实际是怎样使用的. Semaphore表示了一种能够同一时候有多个线程进入临界区的同步器,它维护了一个状态表示可用的票 ...
- git 使用过程(四、回退版本)
1.查看修改历史 命令:git log 如果嫌内容太多 可以加参数 --pretty=oneline (图一) 2.回退 命令:git reset --hard HEAD^ HEAD:代表本 ...
- 【Hibernate】Remember that ordinal parameters are 1-based!
此错误的官方解释:1.当hql中不需要参数,而传递了参数导致,2.set参数时没有从0开始. 但此问题不属这两种. 检查导入的libraries无错误. 最后在网络搜索到:http://qihaihu ...
- git阶段学习总结
学习git大约有两个星期了,脑子里总算有点干货了,可以拿出来总结一下: git,用于版本控制的,刚开始觉得它是linux下默认的命令,其实也是个工具需要apt-get install git 安装一下 ...
- 动态规划---最长上升子序列问题(O(nlogn),O(n^2))
LIS(Longest Increasing Subsequence)最长上升子序列 或者 最长不下降子序列.很基础的题目,有两种算法,复杂度分别为O(n*logn)和O(n^2) . ******* ...
- Swipe JS滑动插件
Swipe JS 是一个轻量级的移动滑动组件,支持 1:1 的触摸移动,阻力以及防滑性能都不错,可以让移动web应用展现更多的内容,能解决我们对于移动Web对滑动的需求. 官网:http://www. ...
- 我的Python成长之路---第四天---Python基础(14)---2016年1月23日(寒风刺骨)
一.生成器和迭代器 1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. ...
- 我的Python成长之路---GitHub使用克隆GitHub(SSH key配置)
六.克隆GitHub仓库 1.创建仓库目录,目录位置没有要求,比如D:\learngit. 2.配置ssh(如果不配置会每次都输入用户名和密码) 使用TortoiseGit生成ssh-key:开始菜单 ...
- JavaScript 的数组操作--删除元素
在JavaScript中,可以很方便的删除指定位置的元素,这个是用到 splice方法, 该方法用于删除或替换数组中的部分数据. 其语法定义是 : splice(start , count [,new ...
- Fiddler 教程(转)
阅读目录 Fiddler的基本介绍 Fiddler的工作原理 同类的其它工具 Fiddler如何捕获Firefox的会话 Fiddler如何捕获HTTPS会话 Fiddler的基本界面 Fiddler ...