hive查询数据与查完之后保存到hdfs上的数据不一样

查看数: 73176 | 评论数: 13 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-11-14 10:53

正文摘要:

回复

LoveJW 发表于 2014-11-14 15:18:53
pig2 发表于 2014-11-14 15:17:26
LoveJW 发表于 2014-11-14 14:59
这个是取到了最后的十条数据。。如果我就想取前10条或者前20条这样的数据 ,该用什么?Hive里 没有top 关 ...
说明你的数据还是少,建议增加些数据库知识

10条或则20条,写成下面形式

SELECT * FROM acl_action  SORT BY 字段 ASC LIMIT 10


SELECT * FROM acl_action  SORT BY 字段 ASC LIMIT 20
LoveJW 发表于 2014-11-14 14:59:28
本帖最后由 LoveJW 于 2014-11-14 15:02 编辑
pig2 发表于 2014-11-14 14:35
尝试下面解决办法:

SELECT * FROM acl_action  SORT BY 字段 DESC LIMIT 10

这个是取到了最后的十条数据。。如果我就想取前10条或者前20条这样的数据 ,该用什么?Hive里 没有top 关键字吧?而且 为什么select * from acl limit 10这样查的 数据每次都是前10条? 或者前多少条。不是随机的
pig2 发表于 2014-11-14 14:35:24
尝试下面解决办法:

SELECT * FROM acl_action  SORT BY 字段 DESC LIMIT 10
pig2 发表于 2014-11-14 14:32:38
LoveJW 发表于 2014-11-14 14:10
我建的外部表,然后直接读取的是存在hdfs上的数据,这么说吧 ,我只查询 limit 10 显示出来的是前10条数 ...
Limit 可以限制查询的记录数。查询的结果是随机选择的。
LoveJW 发表于 2014-11-14 14:10:14
desehawk 发表于 2014-11-14 14:03
仔细检查下,可以在描述的详细些,只有个人主观的看法,找到问题难度比较大。比如截图说一下数据库中有什 ...

我建的外部表,然后直接读取的是存在hdfs上的数据,这么说吧 ,我只查询 limit 10 显示出来的是前10条数据,当我insert..select ..limit 10的时候 我这是要保存查询出来的数据 但是我查看保存生成的文件 里面的数据 不是前10条 而是 10-20条  或者是20-30条 再或者都有 。反正是和select * from  acl limit 10;这样查询出来的数据不一样。但是数据又都是存在的
desehawk 发表于 2014-11-14 14:03:22
LoveJW 发表于 2014-11-14 13:28
这跟编号没关系,我这说的编号只是区分数据,就是数据完全都不一样,
仔细检查下,可以在描述的详细些,只有个人主观的看法,找到问题难度比较大。比如截图说一下数据库中有什么数据,原先的文件是否有数据,
是否尝试数据库中,只有10条数据,然后文件空。

LoveJW 发表于 2014-11-14 13:28:03
desehawk 发表于 2014-11-14 13:07
编号先不用管,先看看其它数据是否一致。
在数据库中,编号是不重要的,而且是可以自动生成的。
比如

这跟编号没关系,我这说的编号只是区分数据,就是数据完全都不一样,
desehawk 发表于 2014-11-14 13:07:16
编号先不用管,先看看其它数据是否一致。
在数据库中,编号是不重要的,而且是可以自动生成的。
比如
我们查询的时候,id是可以自定义,并且自动增长的,但是放到hdfs之后,数据库又有自己的一个编号,所以产生这个问题是正常的。关键其他数据一致,说明没有问题。
关闭

推荐上一条 /2 下一条