gpt4 book ai didi

hadoop - Hadoop分区。您如何有效地设计Hive/Impala表?

转载 作者:行者123 更新时间:2023-12-02 21:14:04 25 4
gpt4 key购买 nike

考虑以下事实,如何有效设计Hive / Impala表?

  • 该表每个接收约1亿行的工具数据
    天。接收数据的日期存储在
    表格及其工具ID。
  • 每个工具都会收到
    每天运行500次,由列运行ID标识。每次运行ID
    包含大约1 mb大小的数据。
  • 块的默认大小为64 mb。
  • 可以按日期,工具ID和运行ID依次搜索表。
  • 最佳答案

    如果您要对此数据进行分析,则Impala的可靠选择是使用Parquet格式。对于我们的用户来说,效果很好的方法是根据记录中的日期值按年,月,日对日期进行分区。

    因此,例如,将CREATE TABLE foo(tool_id int,eff_dt时间戳)分区(year int,month int,day int)存储为 Parquet

    将数据加载到该表中时,我们使用类似以下的方法来创建动态分区:

    INSERT INTO foo partition (year, month, day)
    SELECT tool_id, eff_dt, year(eff_dt), month(eff_dt), day(eff_dt)
    FROM source_table;

    然后,培训用户,如果他们想要最佳性能,则将YEAR,MONTH,DAY添加到他们的 WHERE子句中,以使其到达分区以获得更好的性能。然后,让他们在 eff_dt语句中添加 SELECT,以便它们具有其最终结果中所希望的格式的日期值。

    在CDH中,Parquet默认情况下以256MB块(可配置)存储数据。这是配置方法: http://www.cloudera.com/documentation/enterprise/latest/topics/impala_parquet_file_size.html

    关于hadoop - Hadoop分区。您如何有效地设计Hive/Impala表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39296982/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com