开发者社区> 问答> 正文

ODPS大讲堂之概述篇

1. 什么是Tunnel?
    tunnel是用来上传,下载数据用的。用户可以使用tunnel提供的java sdk接口将mysql,oracle的数据导入odps。也可以将odps的数据再导回mysql。通常情况下的商业场景是:用户将白天积攒下来的商业数据(例如淘宝的交易数据)导入odps,然后使用sql,mapreduce,或者是xlib(其实odps不只这几种计算功能,后续会开放更多),对数据进行计算,处理,挖掘。计算出最后的结果后,再将这些结果数据导回到mysql或者oracle。
    用户使用tunnel是需要完善reader/writer接口。odps tunnel进提供了抽象的reader writer接口。reader writer的具体工作需要用户自己编写完成,例如实现mysql reader,或oracle writer。此外,上传及下载数据时,还需要创建上传或下载的会话(Session)。
    dship工具就是一个tunnel服务的客户端,基于tunnel的sdk实现。dship工具用来读取本地文件,将本地文件内的数据导入odps的表。
    关于tunnel最重要的话:本次竞赛没有开放tunnel服务,用户开发的tunnel程序及odps提供的dship工具都无法使用。实际上我们也没给这次大赛提供dship工具。哈哈哈哈哈。

2. ODPS SQL,MapReduce及Xlib的区别?
    说下ODPS SQL,MapReduce及Xlab的区别吧。

    先说MapReduce,它是一种计算框架,最早由Google提出。大家可以Google下,到处都是介绍,有不少同学批评ODPS的文档写的不好,那就Google吧,哈哈。基于MapReduce的框架概念可以做很多事情,比如说,可以通过MapReduce计算框架完成分布式SQL的实现,当然也可以实现Xlib的部分功能。对于MapReduce计算模型的简单介绍在odps_doc中Mapreduce的开篇有说明,希望对大家有帮助。
    但ODPS的mapReduce功能和与ODPS的SQL的关系有点“本末倒置”的意思。ODPS的MapReduce是通过ODPS SQL实现的。我们实际上是将用户写的mapper函数及reduce函数包装成UDTF,并生成对应的SQL,扔到ODPS里去执行的。用户看起来是MapReduce,但实际上是sql。这里面有点绕,正常情况下MapReduce可以用来实现分布式SQL,但我们却用分布式SQL实现MapReduce。为什么会这样呢?你猜呀?

    说道ODPS SQL我可先解释上述问题的一部分原因。ODPS的SQL不是基于MapReduce框架实现的,而是另一种更为复杂的图模型计算框架。给大家提供几个关键字"阿里云", “飞天”, “王坚”, “唐宏”,还有“山水”。这个我估计Google搜不到,大家百度吧。关于SQL功能的介绍我会在另一篇贴子里描述。请大家注意看,其实这帖子已经发出来了,但好像没人看,请搜关键字"ODPS大讲堂"。

    关于Xlib,这块其实我也不懂,因为不是我做的(其实MR和SQL也不是我做的)。如果说MapReduce是计算框架,SQL是数据处理语言,那么Xlib就是数据处理算法(方法)。Xlib提供了大量的数据处理,包括数据挖掘的方法。比如说逻辑回归,Kmeans,矩阵运算,等等等等。Xlib中的诸多算法有的依赖于MapReduce框架实现,有些据说依赖于SQL实现,只是据说。有些是通过迭代框架实现的。通过迭代实现的算法大家要小心使用,因为迭代算法对集群资源消耗比较严重,你用了,别人就用不了了,小心其他同学骂你,呵呵。走自己的路,让别人无路可走。

大家有什么疑问可以回复这个帖子。我会逐一回复所有人的提问。

展开
收起
halcyon 2014-04-27 10:33:22 25284 0
19 条回答
写回答
取消 提交回答
  • ReODPS大讲堂之概述篇
    那为何MapReduce上可以详细设置参数, 而SQL则不行呢?
    2015-09-14 10:07:39
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    [font=微软雅黑, 'Microsoft Yahei', 'Hiragino Sans GB', tahoma, arial, 宋体]很强大

    -------------------------

    ReODPS大讲堂之概述篇
    很强大
    2014-11-25 16:32:02
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    那位高手给个链接,xlab在哪下的,没找到
    2014-10-24 16:41:17
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    ODPS 支持的Map Reduce是多少的版本?
    2014-07-09 16:58:45
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    厉害
    2014-04-29 16:49:35
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    AccessID是什么?
    2014-04-29 15:19:15
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    我认为:MR建立在SQL基础上是为了支持更多的分布式框架,而不是局限于Map-Reduce。
    2014-04-28 12:08:27
    赞同 展开评论 打赏
  • 回12楼halcyon的帖子
    MapReduce是一个编程模型,它是how to do,而SQL是描述性语言,表示what to do。
    阿里云实际上是将SQL作为整个数据分析的API提供出来,这样屏蔽了底层的实现细节。
    不负责任的说,也许SQL的底层也是MR实现的(也可能不是),但是这个MR是不可能提供给用户使用的,因为不安全。
    所以,我们用的MR是架在SQL上的,一方面屏蔽底层的实现细节,一方面相当于处于sandbox保护中,更加可控。

    不知道这样的理由是否正确。
    2014-04-28 09:33:04
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    我猜是因为用的类似于graphlab这种基于图结构的
    然后还有点bsp的实验 有一些mpi的包 是么
    2014-04-28 01:50:47
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    我看HIVE有UDAF,这个是不是没有,也不会提供?
    2014-04-27 22:55:36
    赞同 展开评论 打赏
  • 个人博客: http://wuchong.me
    ReODPS大讲堂之概述篇
    由于业务原因先有了 sql ,后来开发mr的时候发现在sql上开发快很多?
    瞎猜
    2014-04-27 21:12:35
    赞同 展开评论 打赏
  • 回6楼李小三的帖子
    xlib都是现成的算法包,工具包,不用自己再编程了。

    -------------------------

    回9楼hellokitty的帖子
    如果用row_number只能增加partition了。或者自己写个udf?

    -------------------------

    回7楼hellomr的帖子
    嗯,很多人对这个表示不解,不过我目前只能解释这么多。至于为什么要这么做,算是给大家留个念想,念念不忘,必有回响。

    -------------------------

    回13楼jark的帖子
    不对,再猜,呵呵
    2014-04-27 20:55:02
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    有个问题,如果我想操作多张表的话,udf可以实现吗?
    还是说我要自己写mapreduce来实现?
    比如:一张表是测试集,一张表是预测的结果,我想计算f1得分的话,通过哪种方式实现更好呢?

    -------------------------

    ReODPS大讲堂之概述篇
    还有,排序的时候,我想得到排序后的序号,但是row_number之类的都是窗口函数,必须制定partition,不然就报错,难道我只能为了排序单独再增加partition?
    2014-04-27 18:54:49
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    这不会是真的吧,把mapreduce弄成sql来运行
    我只能说好吧,且用且珍惜
    2014-04-27 17:30:02
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    xilb里的算法不用在自己编写mapreduce?
    2014-04-27 16:31:44
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    “哈哈哈哈哈”
    。。。笑得太。。。了
    2014-04-27 16:30:21
    赞同 展开评论 打赏
  • 坐等大神

    -------------------------

    ……

    2014-04-27 12:34:12
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    坐等
    2014-04-27 12:07:09
    赞同 展开评论 打赏
  • ReODPS大讲堂之概述篇
    前排坐等
    2014-04-27 11:48:04
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
MaxCompute技术公开课第四季 之 MaxCompute Q3 新特性介绍 立即下载
MaxCompute技术公开课第四季 之 MaxCompute Tunnel上传典型问题场景实战 立即下载
2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载