Создание потока данных из Twitter c Spring XD
Что вы создадите
Вы настроете Spring XD (eXtreme Data), создадите поток для просмотра twitter новостей вживую и поместите его в файл.
Что вам потребуется
- Примерно 15 минут свободного времени
- JDK 7 и выше
Как проходить этот урок
Если у вас Mac, то следуйте простым инструкциям по установке Homebrew.
Если у вас не Mac или вы не заинтересованы в установке Homebrew, то можете пропустить следующий раздел и перейти к установке Spring XD.
Установка Homebrew
Существует несколько пакетных менеджеров, доступных для Mac OS X, но наиболее популярным является Homebrew. И мы имеем сильную поддержку для Homebrew! Если у вас его ещё нет, используйте эти шаги для его установки:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
Этот скрипт установки будет предоставлять дополнительную информацию.
Homebrew имеет базовый набор "formulas" для установки многих инструментов. Он также поддерживает сторонние наборы, называемые "taps". Pivotal имеет tap, который предоставляет несколько инструментов, включая Spring XD, который вы увидите в следующем разделе.
Установка Spring XD
Если вы используете Mac c Homebrew, то процесс довольно простой:
brew tap pivotal/tap && brew install springxd
Вот и всё! Может потребоваться немного времени на установку.
Если вы не используете Homebrew или у вас другая платформа:
- Загрузите Spring XD 1.0.0.RELEASE
-
Переместите его в любой каталог по вашему усмотрению и распакуйте. Для удобства, мы будем ссылаться на
расположение этого каталога как
$XD_INSTALL_DIR
Запуск Spring XD
Для запуска Spring XD:
$XD_INSTALL_DIR/xd/bin/xd-singlenode
Вы должны увидеть следующее:
_____ __ _______ / ___| (-) \ \ / / _ \ \ `--. _ __ _ __ _ _ __ __ _ \ V /| | | | `--. \ '_ \| '__| | '_ \ / _` | / ^ \| | | | /\__/ / |_) | | | | | | | (_| | / / \ \ |/ / \____/| .__/|_| |_|_| |_|\__, | \/ \/___/ | | __/ | |_| |___/ 1.0.0.RELEASE eXtreme Data Started : SingleNodeApplication Documentation: https://github.com/spring-projects/spring-xd/wiki
В другом окне терминала запустите оболочку управления Spring XD:
$XD_INSTALL_DIR/shell/bin/xd-shell
это приведет к:
_____ __ _______ / ___| (-) \ \ / / _ \ \ `--. _ __ _ __ _ _ __ __ _ \ V /| | | | `--. \ '_ \| '__| | '_ \ / _` | / ^ \| | | | /\__/ / |_) | | | | | | | (_| | / / \ \ |/ / \____/| .__/|_| |_|_| |_|\__, | \/ \/___/ | | __/ | |_| |___/ eXtreme Data 1.0.0.RELEASE | Admin Server Target: http://localhost:9393 Welcome to the Spring XD shell. For assistance hit TAB or type "help". xd:>
Используя оболочку Spring XD, создайте twitter-поток:
xd:> stream create --name twittersearchjava --definition "twittersearch --consumerKey=afes2uqo6JAuFljdJFhqA --consumerSecret=0top8crpmd1MXGEbbgzAwVJSAODMcbeAbhwHXLnsg --query='java' | file" --deploy
Здесь вы создаете stream, состоящий из source и sink.
В дополнение к созданию определения потока, вы также разворачиваете поток, используя опцию --deploy
.
- Поток назван как twittersearchjava
- Источник twittersearch, используя учетные данные Twitter API, запрашивает ключ java
- Результаты помещаются в file, по умолчанию - в /tmp/xd/output/[streamName].out
В другом окне терминала:
$ cd /tmp/xd/output $ tail -f twittersearchjava.out
Spring XD подхватывает данные в режиме реального времени из Twitter о java
и записывает их в twittersearchjava.out
. Вы должны видеть твиты в виде JSON.
Пока Spring XD запущен и поток развернут, заполнение файла будет продолжаться все большим
количеством данных. Вы можете остановить поток отменив развертывание в оболочке Spring XD:
xd:>stream undeploy twittersearchjava
Итог
Поздравляем! Вы только что установили Spring XD и создали поток, подхватывающий новости из Twitter в реальном времени и помещающий их в файл.
С оригинальным текстом урока вы можете ознакомиться на spring.io.
comments powered by Disqus