0

我是hadoop的新手。请帮帮我。

我有一个不断更新的日志文件,我需要将此日志文件存储到 hive 中的表中。是否可以在需要时或定期将日志文件中生成的新行添加到此表中?

4

2 回答 2

0

Hive 支持插入语句,所以应该可以。同时 - 我不会推荐这种使用 hive 的方式。我会假设我们谈论的是严重的日志流 - 否则我们不会使用 Hive。
当我们简单地将附加文件复制到定义为 Hive 的外部表的某个 HDFS 目录时,Hive 在数据加载速度方面具有优势
所以我建议使用日志轮换(或其他技术)每 X 分钟或 Y MB 创建新文件,然后简单地复制他们进入HDFS。

于 2012-09-24T08:53:50.203 回答
0

Hive 并不能很好地支持这一点。我建议考虑使用 Flume 将日志文件存储到 HDFS 中,然后让 Hive 表简单地指向该位置并使用适当的 SerDe 来访问它。

要么这样,要么轮换日志文件,并且仅在完全完成写入后将其存储到 Hive 中。

于 2012-09-24T19:43:48.463 回答