分享

hive如何支持循环

Joker 发表于 2015-9-1 14:50:13 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 10 168671
现在我要查询一条URL的下一条URL的数据,假设取5条,那么我还想再通过这5条数据在进行查询。

我要问的问题是:
1.hive可以进行类似for循环吗?
2.临时表可以复用吗?复用效果怎么样?

由于用Hive较少,有了解的朋友可以说上一说。

谢谢!

已有(10)人评论

跳转到指定楼层
Joker 发表于 2015-9-6 16:37:42
arsenduan 发表于 2015-9-6 16:04
有点像链式

链式mapreduce作业实例【代码实现】

参考了PageRank的循环体 + jobcontrol完成的作业。
效果还行。


回复

使用道具 举报

arsenduan 发表于 2015-9-1 16:02:16
hive的左连或则右连都是可以的,跟关系表一样的
回复

使用道具 举报

arsenduan 发表于 2015-9-1 16:42:05
左连右连提取前5条。关系数据熟悉,这个就明了了。
重复循环这个很麻烦的,关系数据库有事务。
但是左连右连应该可以实现的
回复

使用道具 举报

Joker 发表于 2015-9-2 10:05:05
arsenduan 发表于 2015-9-1 16:42
左连右连提取前5条。关系数据熟悉,这个就明了了。
重复循环这个很麻烦的,关系数据库有事务。
但是左连 ...

你好,我就是两张表连接取出最多的5条数据放入到了临时表中。
但是,还要从这5条URL在取出访问最多的5条URL,数据是放在临时表进行JOIN。

我要问的是临时表如何复用?效果如何?、
hive支持循环吗?

多谢你的回答
回复

使用道具 举报

arsenduan 发表于 2015-9-2 11:53:34
Joker 发表于 2015-9-2 10:05
你好,我就是两张表连接取出最多的5条数据放入到了临时表中。
但是,还要从这5条URL在取出访问最多的5条 ...

用临时表也是可以的,不过为何要用临时表,直接join就可以了。
hive目前还没有发现直接支持循环。
回复

使用道具 举报

Joker 发表于 2015-9-2 17:30:17
arsenduan 发表于 2015-9-2 11:53
用临时表也是可以的,不过为何要用临时表,直接join就可以了。
hive目前还没有发现直接支持循环。

我用临时表存储2表JOIN出来的数据,然后在和大表查询,用到临时表的数据,有点类似递归。
我查了hive目前很多功能不支持,我在想MapReduce如何去实现,用MapReduce实现,主要的就是
量表JOIN出来的数据需要写入到文件,如果是单纯的in/out输入输出流,数据一大效果太差。
使用context.write只生成一个最终要的。

现在要实现的是:第一次JOIN的数据要保存到文件中
                           第二次JOIN取出第一次的前5条数据 ... 直到查不到数据

如果使用MapReduce,你有什么好点的方法吗?
回复

使用道具 举报

arsenduan 发表于 2015-9-6 16:04:38
Joker 发表于 2015-9-2 17:30
我用临时表存储2表JOIN出来的数据,然后在和大表查询,用到临时表的数据,有点类似递归。
我查了hive目 ...


有点像链式

链式mapreduce作业实例【代码实现】
http://www.aboutyun.com/thread-14966-1-1.html


让你真正明白什么是MapReduce组合式,迭代式,链式
http://www.aboutyun.com/thread-7435-1-1.html



回复

使用道具 举报

Joker 发表于 2015-9-6 16:36:14
arsenduan 发表于 2015-9-6 16:04
有点像链式

链式mapreduce作业实例【代码实现】

多谢,昨天已经整合好了,看的也是这篇文章。
回复

使用道具 举报

arsenduan 发表于 2015-9-6 16:56:45
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条