我对hadoop很新,所以请原谅这些愚蠢的问题.
我有以下知识Hadoop的最佳用途是大文件,因此在运行mapreduce任务时有助于提高效率.
牢记上述内容我对Flume NG感到有些困惑.假设我正在拖尾日志文件,并且每秒生成日志,当日志获得新行时,它将通过Flume传输到hdfs.
a)这是否意味着flume在我正在追踪的日志文件中记录的每一行上创建一个新文件,或者它是否附加到现有的hdfs文件?
b)首先允许在hdfs中添加?
c)如果b的答案是真的吗?即内容是否经常附加,我应该如何以及何时运行我的mapreduce应用程序?
以上问题可能听起来很愚蠢,但对此问题的答案将受到高度赞赏.
PS:我还没有设置Flume NG或hadoop,只是阅读文章以获得理解以及它如何为我的公司增加价值.
Flume通过HDFS接收器写入HDFS.当Flume启动并开始接收事件时,接收器将打开新文件并将事件写入其中.在某些时候,应该关闭先前打开的文件,直到那时,正在写入的当前块中的数据对其他redaers不可见.
如文档中所述,Flume HDFS接收器有几种文件关闭策略:
rollInterval选项指定)rollSize选项)rollCount选项)idleTimeout选项)所以,对你的问题:
a)Flume将事件写入当前打开的文件,直到它关闭(并打开新文件).
b)HDFS 允许附加,但Flume不使用它.文件关闭后,Flume不会向其追加任何数据.
c)从mapreduce应用程序使用inUsePrefix选项隐藏当前打开的文件- 所有名称以开头的文件.对MR作业不可见.
| 归档时间: |
|
| 查看次数: |
2532 次 |
| 最近记录: |