EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

Donald E. Knuth

Donald E. Knuth

Donald E. Knuth (1938~), the "father of the analysis of algorithm", Turing Award, 1974

For his major contributions to the analysis of algorithms and the design of programming languages, and in particular for his contributions to the "Art of Computer Programming" through his well-known books in a continuous series by this title.

编译器

阅读全文 »

起源

FAT(File Allocation Table)文件配置表。用来记录文件所在位置的表格。假若丢失文件分配表,那么硬盘上的数据就会因无法定位而无法使用。

  • 在 DOS v1.0 时代就引入了,是最基本的文件系统之一。
  • FAT 家族:FAT12、FAT16、FAT32、ExFAT、VFAT
  • 12 位地址,最大容量 16MB
  • 为软盘设计的文件系统

FAT 结构

  • FAT 文件系统把存储介质看成一维的数组,基本单位是簇(cluster)
    • 存储介质被划分为 3 个区域:boot record、FAT、directory and data area
  • 一个簇包含一个扇区,大小为 512B
阅读全文 »

引入:推荐系统的例子

  1. 京东推荐系统
  2. 推荐产品和食物
  3. 两个客户:
    1. 客户 X:购买了 CD1 和 CD2
    2. 客户 Y:搜索了 CD1,那么推荐系统将会根据从客户 X 处收集到的信息推荐给客户 CD2

推荐与推荐系统

用户执行物品搜索,推荐系统根据情况返回推荐结果

阅读全文 »

什么是聚类

聚类是一种无监督学习,有时候被叫做被统计学分类、被物理学家排序、被营销人员分段。

将数据划分成类,并且满足以下两个条件:

  1. 类内相似度高
  2. 类间相似度低

不同于分类问题的是,我们直接从数据中获取到类标签和类的数量,也就是找到自然分类。

阅读全文 »

分类

在分类问题中,可以将某个域中的每个实体置于一组离散的类别中的一个中:是/否,朋友/敌人,好/坏/无所谓,蓝色/红色/绿色等。

给定一个带有标签的实体的训练集,制定一个将标签分配给测试集中的实体的规则。

分类引入

阅读全文 »

Hadoop

Hadoop 是一个开发和运行大规模数据分析程序的软件平台,隶属 Apache 的一个开源软件框架,在大量普通服务器组成的集群中对海量数据进行分布式计算。

主要模块:

  • Hadoop Common
  • Hadoop Distributed File System(HDFS)
  • Hadoop YARN
  • Hadoop MapReduce

Hadoop 计算过程

阅读全文 »

选择题

  1. 设计分布式数据仓库 Hive 的数据表时,为取样更高效,一般可以对表中的连续字段进行分桶操作。
  2. 客户端首次查询 HBase 数据库时,首先需要从-ROOT-表开始查找。
  3. HBase 的 Region 组成中,必须要有MemStore项。
  4. HBase 是分布式列式存储系统,记录按列族集中存放。
  5. HBase 数据库的 BlockCache 缓存的数据块中,普通的数据块不一定能提高效率。
  6. 视频监控数据属于非结构化数据
  7. MapReduce 编程模型,键值对<key, value>的 key 必须实现WritableComparable
  8. 若不针对 MapReduce 编程模型中的 key 和 value 值进行特别设置,Average 是 MapReduce 不适宜的运算。
  9. 在实验集群的 master 节点使用 jps 命令查看进程时,终端出现Namenode,JobTracker, Secondary NameNode能说明 Hadoop 主节点启动成功
  10. Client 端上传文件的时候下列哪项正确?B
    • A. 数据经过 NameNode 传递给 DataNode
    • B. Client 端将文件切分为 Block,依次上传
    • C. Client 只上传数据到一台 DataNode,然后由 NameNode 负责 Block 复制工作
    • D. 以上都不正确
  11. Hadoop1.0 默认的调度器策略是先进先出调度器
  12. JobTracker负责 MapReduce 任务调度
  13. HDFS1.0 默认 Block Size 大小是 64MB
  14. HDFS 中的 block 默认保存3个备份
  15. Datanode负责 HDFS 数据存储。

判断题

  1. Hadoop 支持数据的随机读写。(错,Hbase 支持,Hadoop 不支持)
  2. NameNode 负责管理元数据信息 metadata,client 端每次读写请求,它都会从磁盘中读取或会写入 metadata 信息并反馈给 client 端。(错,内存中读取)
  3. MapReduce 的 input split 一定是一个 block。(错,默认是)
  4. MapReduce 适于 PB 级别以上的海量数据在线处理。(错,离线)
  5. 链式 MapReduce 计算中,对任意一个 MapReduce 作业,Map 和 Reduce 阶段可以有无限个 Mapper,但 Reducer 只能有一个。( 对)
  6. MapReduce 计算过程中,相同的 key 默认会被发送到同一个 reduce task 处理。(对)
  7. HBase 对于 NULL 的列,不需要占用存储空间。(没有则空不存储,对)
  8. HBase 可以有列,可以没有列族(column family)。(错,有列族)

简答题

阅读全文 »

大数据导论

数据挖掘是什么?

发现具有以下特征的模式(模型):

  • 有效性
  • 可用性
  • 出乎意料
  • 可理解性

什么是数据挖掘:在大量数据的情况下发现数据的有效的,可用的,新的,可理解的模式

数据挖掘的常见任务:

  • 描述类方法:如聚类,找出人类可理解的模式来描述数据
  • 预测类的方法:如推荐系统,使用一些变量来预测未知的或者未来的其他变量的值
阅读全文 »