`
Tristan_S
  • 浏览: 361527 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hadoop 学习

 
阅读更多


pig
分析带逻辑的文本文件, 类似于sql
不用MR直接去分割字符串什么的。
A = LOAD 'student' USING PigStorage() AS (name:chararray, age:int, gpa:float); -- loading data
B = FOREACH A GENERATE name;  -- transforming data
DUMP B;  -- retrieving results


序列化工具 avro 
序列化和反序列化时schema字段不完全匹配时,也ok
存储  原schema+数据   支持压缩
RPC = 序列化+传输(HTTP POST)
相较于thrift,  protocal buffer的优点,动态类型 不生成代码


收集日志chukwa
agent(监控节点) + collector(写入hdfs)
MR最初主要用于日志处理, 但是集群中的机器日志不断地增加,会生成大量的小文件, 而MR在处理少量大文件数据时才会有最好的效果。 这就是chuka的设计目的

收集日志Flume
和chukwa类似, 不是apache亲生的, 是flume是cloudera公司开源的。
也是agent + collector 架构
用类似shell命令的方式(支持通道符) 传递数据到HDFS


数据仓库 Greenplum
竞争对手oracle RAC --  维护成本高, 需要很强的DBA
基于postgreSQL




------------------------
DAG计算框架Tez
多个MapReduce应用之间存在依赖关系
将HDFS - Map - Reduce - HDFS2 - Map2 - Reduce2 - HDFS3
转换成 HDFS - Map - Reduce - Reduce2 - HDFS2
减少中间写HDFS和读HDFS的IO开销

还可以优化Hive等引擎
----------------------

淘宝数据魔方
分为5层
数据源层 (日志,主站备库)
----1.5PB----> 计算层(1500节点-平均每台处理10TB的数据,hadoop集群/云梯, storm/银河) 
----20TB-----> 存储层(MySql,hbase)
-------------> 数据查询层
-------------> 产品层 (数据魔方,淘宝指数)

GB - TB - PB





----------------------

TOP K问题
最热门的K个查询词
1, wordcount
2, 排序  -- map排序

K-means聚类
基于距离的迭代
1, map  划分类别
2,reduce  重新计算中心点位置


贝叶斯分类
信用卡审批

-----------------------

hdfs的读取
1,hdfs客户端访问namenode, namenode返回一个输入流对象(获得块位置)
2,用输入流对象访问DataNode读取数据。 一个个读取块,而不是并行的。

hdfs的写入
1, 在namenode中创建一个文件, namenode返回一个输出流对象
2, 输出流会将文件分割成包,然后放入一个内部数据队列中
3, 写入datanode中,需要满足dfs.replication.min(默认是1),从队列中删除
4, 向namenode确认 
注:dfs.replication(默认是3),文件会异步复制到其他datanode中,不会阻塞写入的时间。


--------------------
单独运行hadoop
start-dfs.sh
start-yarn.sh 

hadoop jar .//share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /tmp/demo.txt /out5
hdfs dfs -ls /tmp
hdfs dfs -rm -r /tmp/hadoop-yarn

hadoop dfsadmin -safemode leave 
hdfs dfs -mkdir /input
hdfs dfs -copyFromLocal tristan/inputdata/*.txt /input
hadoop jar tristan/wordcount.jar /input/*.txt /out2


history  日志
mr-jobhistory-daemon.sh start historyserver


hbase 和 datanode 副本拷贝的区别
hbase用的就是datanode的副本,并可以指定需要有多少个副本

replication的副本具体放在哪些机器
在hdfs界面中点到具体某个文件中 Total number of blocks

  • 大小: 67.3 KB
  • 大小: 46 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics