gpt4 book ai didi

java - 文件名作为列-hadoop

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

我的日志文件的文件名中包含日期和小时。有没有一种方法可以从文件名中提取日期和小时以在配置单元中添加额外的列,该文件的示例为weblogs-20150101-010000.gz。

我知道的方法是使用仅映射作业将日期和小时顺序附加到每行,但是我试图通过hadoop流查看是否有更简单的方法。

最佳答案

如果查询性能非常重要,并且您将按日期/小时进行过滤,则可以通过将文件放置在包含日期属性的文件夹(例如, /path/to/your/data/year=2015/month=05/day=25/hour=14/,然后将这些分区添加到Hive表中。

另一种方法是使用Hive的INPUT__FILE__NAME虚拟列并使用该列进行过滤,例如

SELECT * FROM WEBLOGS WHERE INPUT__FILE__NAME LIKE '%20150101-010000.gz'

关于java - 文件名作为列-hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446074/

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