У меня есть большой набор файлов журналов, из которых мне нужно извлечь данные. Можно ли использовать Flume для чтения этих файлов и выгрузки их в HDFS (Cassandra или другой источник данных), который я затем могу запросить?
Документация, кажется, предполагает, что все это обработка журналов на основе живых событий. Мне интересно, не хватает ли мне какого-то очевидного процесса, чтобы просто прочитать поток и обработать статические файлы журнала из каталога.
Да, это стандартный вариант использования лотка.
Сервер с файлами журнала будет запускать flume-node, а другой (или потенциально тот же) сервер будет запускать flume-master. Узлы flume обнаруживают мастер потока, и из мастера потока вы можете выполнять такие команды, как:
exec config my-config 'tail("/path/to/logfile")' 'collectorSink("hdfs://path/to/hdfs-folder", [options])'
Это создает конфигурацию, которая сообщает flume, как получить доступ к файлу (он может отслеживать или читать весь файл, доступны другие параметры) и куда его поместить.
Затем нужно указать конфигурацию на конкретный сервер:
exec map (server-hostname) my-config
В руководстве пользователя лотка есть дополнительная информация: http://archive.cloudera.com/cdh/3/flume/UserGuide/index.html