是什么让这两个查询返回不同的结果?

名利维亚

我在 Amazon Athena 上有一个 ELB 日志表,我正在尝试通过 url 请求每日请求。表的结构是这里描述的结构,但我还添加了日、月和年的分区,以便按日、月等查询日志......我正在使用这样的查询对表进行分区:

ALTER TABLE elb_logs ADD IF NOT EXISTS PARTITION (year='2019',month='03',day='*') location 's3://my-logs-bucket/my-load-balancer/AWSLogs/526654419886/elasticloadbalancing/eu-west-1/2019/03/'

然后我像这样要求 2019 年 3 月一日的日志条目:

SELECT count(*)
    FROM elb_logs
    WHERE year='2019'
    AND month='03'
    AND day='01'

并获得 590 个结果,然后如果我执行此查询:

SELECT count(*), DATE(from_iso8601_timestamp(time))
    FROM elb_logs
    WHERE year='2019'
         AND month='03'
         AND day='*'
    GROUP BY DATE(from_iso8601_timestamp(time))

我在三月一日的计数中也得到 590,但是如果我执行这个(没有日条件):

SELECT count(*), DATE(from_iso8601_timestamp(time))
    FROM elb_logs
    WHERE year='2019'
         AND month='03'
    GROUP BY DATE(from_iso8601_timestamp(time))

我得到 1180 作为结果计数,这是不正确的。为什么是这样?指定DAY='*'和不指定 DAY 有什么区别它们不应该是等价的吗?

彼得·芬戴森

有分区名称和分区位置。

分区:

  • month=03,day=01
  • month=03,day=*

当您在day上无条件查询时,两个分区都匹配。碰巧的是,它们包含相同的文件(因为它们共享它们的物理位置)。由于(显然)没有对正在读取的文件进行重复数据删除(分区应该是非重叠的),因此相同的数据文件被读取了两次。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

这两个SQL查询在什么条件下会给出不同的结果?

来自分类Dev

这两个SQL查询在什么条件下会给出不同的结果?

来自分类Dev

为什么这两个python函数返回不同的结果?

来自分类Dev

为什么这两个“ cat”命令的结果不同?

来自分类Dev

为什么这两个函数的结果不同?

来自分类Dev

这两个结果有什么不同?

来自分类Dev

为什么这两个查询返回不同数量的行

来自分类Dev

这两个表的“选择查询”将是什么?

来自分类Dev

这两个查询如何返回相同的结果但使用不同的联接?(隐式查询与显式查询)

来自分类Dev

这两个命令是什么

来自分类Dev

非零元素的均值-为什么这两个尝试返回不同的结果?

来自分类Dev

是什么导致两个节点上相同的弹性搜索查询出现不同的搜索结果

来自分类Dev

getdents 在两个系统上返回不同结果的原因可能是什么?

来自分类Dev

R:为什么对于相同的点,来自两个不同软件的这两个不同的结果(拟合曲线)?

来自分类Dev

结合两个仅返回结果不同的LINQ查询

来自分类Dev

当两个查询应该相等时返回不同的结果?

来自分类Dev

两个查询返回不同的结果计数

来自分类Dev

为什么这两个字符串比较返回不同的结果?

来自分类Dev

为什么两个查询的结果不同

来自分类Dev

为什么这两个golang整数转换函数给出不同的结果?

来自分类Dev

xUnit.net:为什么这两个等效测试会有不同的结果?

来自分类Dev

为什么这两个“自动装箱”语句给出不同的结果?

来自分类Dev

为什么这两个python正则表达式产生不同的结果?

来自分类Dev

为什么这两个代码段给出不同的结果

来自分类Dev

为什么这两个C#脚本给出不同的结果?

来自分类Dev

为什么这两个find命令给出不同的结果?

来自分类Dev

du -sh:我不明白为什么这两个结果不同

来自分类Dev

为什么这两个日期命令给出不同的结果?

来自分类Dev

xUnit.net:为什么这两个等效测试会有不同的结果?

Related 相关文章

  1. 1

    这两个SQL查询在什么条件下会给出不同的结果?

  2. 2

    这两个SQL查询在什么条件下会给出不同的结果?

  3. 3

    为什么这两个python函数返回不同的结果?

  4. 4

    为什么这两个“ cat”命令的结果不同?

  5. 5

    为什么这两个函数的结果不同?

  6. 6

    这两个结果有什么不同?

  7. 7

    为什么这两个查询返回不同数量的行

  8. 8

    这两个表的“选择查询”将是什么?

  9. 9

    这两个查询如何返回相同的结果但使用不同的联接?(隐式查询与显式查询)

  10. 10

    这两个命令是什么

  11. 11

    非零元素的均值-为什么这两个尝试返回不同的结果?

  12. 12

    是什么导致两个节点上相同的弹性搜索查询出现不同的搜索结果

  13. 13

    getdents 在两个系统上返回不同结果的原因可能是什么?

  14. 14

    R:为什么对于相同的点,来自两个不同软件的这两个不同的结果(拟合曲线)?

  15. 15

    结合两个仅返回结果不同的LINQ查询

  16. 16

    当两个查询应该相等时返回不同的结果?

  17. 17

    两个查询返回不同的结果计数

  18. 18

    为什么这两个字符串比较返回不同的结果?

  19. 19

    为什么两个查询的结果不同

  20. 20

    为什么这两个golang整数转换函数给出不同的结果?

  21. 21

    xUnit.net:为什么这两个等效测试会有不同的结果?

  22. 22

    为什么这两个“自动装箱”语句给出不同的结果?

  23. 23

    为什么这两个python正则表达式产生不同的结果?

  24. 24

    为什么这两个代码段给出不同的结果

  25. 25

    为什么这两个C#脚本给出不同的结果?

  26. 26

    为什么这两个find命令给出不同的结果?

  27. 27

    du -sh:我不明白为什么这两个结果不同

  28. 28

    为什么这两个日期命令给出不同的结果?

  29. 29

    xUnit.net:为什么这两个等效测试会有不同的结果?

热门标签

归档