2014_08_23:

hadoop03c_分布式文件系统HDFS

http://v.youku.com/v_show/id_XNDgwNjg1OTY0.html?f=18604686

2014_08_27

hadoop03a_分布式文件系统HDFS,大数据存储实战

http://v.youku.com/v_show/id_XNDgwNjgwMDU2.html?f=18604686

./bin/hadoop

jobtracker(端口): 50030

namenode(端口): 50070

2014_08_29

hadoop07b_HBase体系架构与安装

http://v.youku.com/v_show/id_XNDgwNzE2MzU2.html?f=18604686

shell命令(hql): help, list, status, help, create, put, get, enable, disable...

API: for java develop.

hadoop07c_HBase体系架构与安装

http://v.youku.com/v_show/id_XNDgwNzE3Nzky.html?f=18604686

什么情况下使用hbase?

表设计跟查询有关,数据分析主题确定,查询语句确定才能设计表。应用场景不固定先不用hbase.

当数据分析的主题,场景已经固化,并且用关系型数据库已经不能胜任,PC提升到小型机,仍然不能解决瓶颈,可以考虑将关系型数据库转成hbase。高速插入,同时有简单key,value查询,不能在非时间戳上order by. 大量发生,又不能分布式处理。

场景一:浏览历史,需要实时结果,不能使用缓存。

如何分不出去?为了利用集群,可以采取类似reverse key,增加随机性。另外一种方法是算hash值,附加到rowid后边,也可以增加随机性。

场景二:商品推荐,浏览本书的人还浏览了这些东西

hadoop07d_HBase体系架构与安装

http://v.youku.com/v_show/id_XNDgwNzI1MDIw.html?f=18604686

辅助索引?不仅在时间戳的列上。

建立辅助表(索引表)。比如主表为学生表,行健为学号,列族为学生,下边的列分别是身份证号,姓名...

建立索引表,行健为省份证号,列族和列为学号。这样可以得到学号和省份证号的组合查询。

手动创建和维护索引。通过牺牲自动化,达到高性能处理大数据量的目的。

复合行健? 数据仓库中分片和钻取,不是独立的两个列,而是依次的。userid-messageid组装为行健。也可以通过范围查询。(12345-****-****, 123456),因为-的ascii码小于6.

2014_08_31

hadoop01a_Hadoop的源起与体系介绍

http://v.youku.com/v_show/id_XNDgwNjU0Mjc2.html?f=18604686

hadoop01b_Hadoop的源起与体系介绍

http://v.youku.com/v_show/id_XNDgwNjU1NDEy.html?f=18604686

索引倒排和分词,帮助实现原本需要全表扫描的where name like '%demoname%'的查询。

Google Page Rank的计算模型:

G = aS + (l-a)/n * U, S是链接矩阵,U是一个全1矩阵。

hadoop01c_Hadoop的源起与体系介绍

http://v.youku.com/v_show/id_XNDgwNjU4MDky.html?f=18604686

Namenode(and secondary namenode):

JobTracker:运行在主节点,用来处理用户提交的作业,切割为小任务,就近运行,小任务被分配到数据所在的节点运行,同时监控task。

Datanode:

Tasktrack:一个tasktacker可以启动多个JVM,并行运行mapreduce任务。

05-11 15:39