Как анализировать события потока с помощью Java (источник Twitter) - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь получить события Twitter с помощью flume и сохранить их в созданной мной древовидной структуре, чтобы агрегировать эти события.

Я могу запустить агент flume на своем локальном компьютере,с помощью приложения узла flume, из Java.В моем файле конфигурации, например, я указал приемник файла, и данные успешно записаны в файл.

Вот программа на Java, с которой я запускаю агент.

import org.apache.flume.node.Application;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;

public class StreamObserver
{
    static Logger logger = Logger.getLogger(StreamObserver.class);

    public static void main (String [] args){




        BasicConfigurator.configure();
        Application.main(args);


        //System.out.println(args[0]);
    }
}

С аргументами программы:

agent -n agentName -f flumeConfFile

А вот мой конфигурационный файл:

# Name the components on this agent
t_agent.sources = TwitterSrc
t_agent.sinks = Lsink
t_agent.channels = Lchannel

# Describe/configure the source

t_agent.sources.TwitterSrc.type = org.apache.flume.source.twitter.TwitterSource

t_agent.sources.TwitterSrc.consumerKey = **********************
t_agent.sources.TwitterSrc.consumerSecret = *********************
t_agent.sources.TwitterSrc.accessToken = *****************
t_agent.sources.TwitterSrc.accessTokenSecret = *****************
t_agent.sources.TwitterSrc.maxBatchDurationMillis = 200


t_agent.sources.TwitterSrc.keywords = data



# Describe the sink
t_agent.sinks.Lsink.type = file_roll
t_agent.sinks.Lsink.channel = Lchannel
t_agent.sinks.Lsink.sink.directory = destDirectory/
t_agent.sinks.Lsink.fileHeader = true

# Use a channel which buffers events in memory
t_agent.channels.Lchannel.type = memory
t_agent.channels.Lchannel.capacity = 1000
t_agent.channels.Lchannel.transactionCapacity = 100


# Bind the source and sink to the channel
t_agent.sources.TwitterSrc.channels = Lchannel
t_agent.sinks.Lsink.channel = Lchannel

Как я уже сказал, агент запускается правильно, а события записываются в локальный файл.

Но я хотел бы знать, есть ли способ проанализировать события из моей программы на Java.

Созданные файлы представлены в двоичном формате, и я также хотел бы знать, есть лиспособ получить их в формате ascii, чтобы я мог проверить результаты.

Обратите внимание, я использую IntelliJ IDEA.

1 Ответ

0 голосов
/ 14 мая 2019

Возможно, вы захотите выяснить, подходит ли вам Flink

https://ci.apache.org/projects/flink/flink-docs-release-1.9/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...