gpt4 book ai didi

hadoop - 配置单元:固定的日志结构和每日分析

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

我是 hive 新手。我有按日期存储在文件夹中的日志:logs/2016/02/15/log-xxx.json。我想对过去一天的日志进行每日分析。我不会在最后的2-3个文件夹上运行hiveQL(时区差异)。如何有效地做到这一点?

  • 我无法告诉 hive 自动发现新日志并将其添加为新分区,对吗?
  • 我是否必须在每个查询之前创建外部表,然后将其删除?
  • 是否可以告诉hive仅在指定的文件夹上运行查询而不创建任何表?
  • 最佳答案

    您可以基于日期创建具有分区的数据库。

    CREATE EXTERNAL TABLE user (
    userId BIGINT,
    type INT,
    level TINYINT,
    date String
    )
    PARTITIONED BY (date String)

    Hive使用读取模式-这意味着,如果稍后将文件手动添加到HDFS,它将在SELECT语句执行期间自动考虑它们。
    只需根据日期将它们放在适当的位置

    但是,您应该考虑一下:

    Because when external table is declared, default table path is changed to specified location in hive metadata which contains in metastore, but about partition, nothing is changed, so, we must manually add those metadata.


    ALTER TABLE user ADD PARTITION(date='2010-02-22'); 

    在这里阅读更多: http://blog.zhengdong.me/2012/02/22/hive-external-table-with-partitions/

    该文章的作者还提供了脚本来自动添加分区。

    关于hadoop - 配置单元:固定的日志结构和每日分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35702835/

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