aglo / hadoop-map-reduce-ex

a practice of Hadoop map reduce
0 stars 1 forks source link

Hadoop MapReduce 练习 项目说明 #1

Open sp3c73r2038 opened 11 years ago

sp3c73r2038 commented 11 years ago

做一个Hadoop MapReduce程序的练习

目的在于

  1. 学会规范的搭建Java (Hadoop MapReduce) 项目,maven等
  2. 学会使用Git以及Github的工作流(pull-request)以及issue进行项目追踪、沟通
  3. 学会写下设计文档和markdown格式
  4. 学会如何写项目的文档

    项目需求

从我们网站的访问日志(access log)中,分析出单页访问的来源(http请求的referer地址分类)

  1. access log的格式有固定,其中有URL和referer
  2. 单页的访问记录是指网站为anjuke.com域名,URL为/prop/view*类的访问记录
  3. 根据URL的归类来统计来源,大致可以分为
    • 爬虫等(bot/spider)
    • 站内(referer同为anjuke.com等网站)
    • 站外
    • 其他

      项目流程

  4. 理解需求
  5. 写设计文档,大致包括了以下部分
    • 提供了什么样的功能
    • 输入的数据来源,输出的内容(格式等)
    • 主逻辑和实现方式
  6. 编码实现与测试
  7. bug修改
  8. 上线和其他

对于这个练习项目的代码,从以下地址获取 (gitcorp需要先设置公钥,再使用git clone出来)

http://git.corp.anjuke.com/ods2

中的mr目录

建立项目

构建项目使用

maven clean
maven package

遇到有lzo的jar包问题,运行install-hadoop-lzo-lib.sh脚本

使用eclipse开发,还需要运行

maven eclipse:eclipse

在eclipse里添加现有项目即可

采样的日志文件我会提供出来

git使用

可以先参考try.github.com来熟悉基本的操作使用

熟悉常用命令(clone/push/pull/fetch)等

arkfang commented 11 years ago

通过新项目进行职业项目开发流程学习,从中获取到项目开发的基本原理,流程。体验到多人共同开发项目中的协同机理。并且学习项目开发语言,基本框架以及辅助工具,学习基本的文档书写规范及格式。熟悉整体开发环境。