IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Spark1.0.0 多语言编程

    book_mmicky发表于 2014-05-13 15:23:49
    love 0
          了解了spark编程的基本概念,可以看出spark编程都是围绕着RDD进行的。关于编程的基础知识,可以参看Spark1.0.0 编程模型。
          spark目前支持scala、python、JAVA编程。
          作为spark的原生语言,scala是开发spark应用程序的首选,其优雅简洁的函数式代码,令开发过mapreduce代码的码农感觉象是上了天堂。
          spark也提供了python的编程模型PySpark,使得python可以作为spark开发语言之一。尽管现在PySpark还不能支持所有的spark API,但是我们相信以后的支持度会越来越高;同时作为NOSQL的主力开发工具之一的python,一旦将NOSQL和spark结合后,我们可以想象以后的发展前景。
          至于JAVA,时间和精力允许的情况下再选吧。不过作为长期坐着写代码的码农,应该积极参加登山、会友之类的活动,为身体着想,还是不要选JAVA来编写spark程序了。
          废话了一堆,还是进行spark的编程实践。

    1:开发环境
    参见Spark1.0.0Spark1.0.0 开发环境快速搭建  。
    含有3台虚拟机组成的集群和一台物理机客户端组成。集群中含有hadoop2.2.0集群和Spark1.1.0集群,客户端含有IntelliJ IDEA。

    2:实验项目
    sogou日志数据分析
    实验数据来源:sogou精简版数据下载地址
    数据格式说明:
    访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL
    其中,用户ID是根据用户使用浏览器访问搜索引擎时的Cookie信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID。
    以上数据格式是官方说明,实际上该数据集中排名和顺序号之间不是\t分割,而是空格分割。
    实验数据下载解压后上传到hdfs://hadoop1:8000/dataguru/data/mini.txt
    实验项目:
    A:用户在00:00:00到12:00:00之间的查询数
    B:搜索结果排名第1,但是点击次序排在第2的数据有多少?
    C:一个session内查询次数最多的用户的session与相应的查询次数

    3:多语言编程实现
    Spark1.0.0 多语言编程之scala实现
    Spark1.0.0 多语言编程之python实现



沪ICP备19023445号-2号
友情链接