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任务。