【问题标题】:Paritioning and Bucketing in HiveHive 中的分区和分桶
【发布时间】:2017-08-31 21:11:12
【问题描述】:

我的配置单元表将有通话记录数据。 该表的 3 列分别是 field1-CALL_DATE、field2-FROM_PHONE_NUM、field3-TO_PHONE

我会查询类似 1)我想获取特定日期之间的所有通话记录。 2) 我想获取 FROM_PHONE 电话号码在特定日期之间的所有通话记录。 2) 我想获取某个 TO_PHONE 电话号码在特定日期之间的所有通话记录。

我的表大小约为 6TB。

我可以知道我需要如何应用分区或分桶以提高所有查询的性能吗?

【问题讨论】:

    标签: hadoop hive hiveql hadoop-partitioning


    【解决方案1】:

    您的要求始终是获取特定日期之间的数据并对其进行过滤,表 partition biased on date 也是如此。

    如何为动态分区创建Link

    您可以将分区键日期设为 yyyymmdd 。

    (如 -- 今天(2017 年 4 月 6 日)的 20170406)

    【讨论】:

    • 如果我想获取起始日期相关的通话记录,如何加快查询速度。
    • 如果我理解你正确“你想获取给定日期的通话记录”,那么如果数据按日期分区,如答案蜂巢中提到的那样,从遣返和查询中获取数据会很快......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 2022-07-29
    • 1970-01-01
    相关资源
    最近更新 更多