Описание тега apache-flink

Apache Flink - это платформа с открытым исходным кодом для масштабируемой пакетной и потоковой обработки данных. Flink поддерживает пакетную и потоковую аналитику в одной системе. Аналитические программы можно писать краткими и элегантными API-интерфейсами на Java и Scala.

Apache Flink

Apache Flink - это платформа с открытым исходным кодом для масштабируемой пакетной и потоковой обработки данных. Flink поддерживает пакетную и потоковую аналитику в одной системе. Аналитические программы можно писать краткими и элегантными API-интерфейсами на Java и Scala.

case class WordWithCount(word: String, count: Int)

val text = env.readTextFile(path)

val counts = text.flatMap { _.split("\\W+") }
  .map { WordWithCount(_, 1) }
  .groupBy("word")
  .sum("count")

counts.writeAsCsv(outputPath)

Вот некоторые из уникальных особенностей Flink:

  • Гибридная среда выполнения пакетной / потоковой передачи, которая поддерживает программы пакетной обработки и потоковой передачи данных.
  • Настраиваемое управление памятью для обеспечения эффективного, адаптивного и высоконадежного переключения между внутренними и внешними алгоритмами обработки данных.
  • Гибкая и выразительная семантика окон для программ потока данных.
  • Встроенный оптимизатор программ, который выбирает правильные операции времени выполнения для каждой программы.
  • Стек анализа нестандартных типов и сериализации для повышения производительности.

Узнайте больше о Flink здесь.

Сборка Apache Flink из исходного кода

Предпосылки для сборки Flink:

  • Unix-подобная среда (мы используем Linux, Mac OS X, Cygwin)
  • мерзавец
  • Maven (как минимум версия 3.0.4)
  • Java 6, 7 или 8 (обратите внимание, что библиотека Oracle JDK 6 не сможет собрать Flink, но может без проблем запустить предварительно скомпилированный пакет)

Команды:

git clone https://github.com/apache/flink.git
cd flink
mvn clean package -DskipTests

Flink теперь установлен в build-target

Разработка Flink

Коммиттеры Flink используют IntelliJ IDEA и Eclipse IDE для разработки кодовой базы Flink.

Минимальные требования для IDE:

  • Поддержка Java и Scala (также смешанные проекты)
  • Поддержка Maven с Java и Scala

IntelliJ IDEA

IntelliJ IDE поддерживает Maven из коробки и предлагает плагин для разработки Scala.

Ознакомьтесь с нашим руководством по настройке IntelliJ для подробностей.

Eclipse Scala IDE

Для пользователей Eclipse мы рекомендуем использовать Scala IDE 3.0.3, основанную на Eclipse Kepler. Хотя это немного более старая версия, мы обнаружили, что она наиболее надежно работает для такого сложного проекта, как Flink.

Дополнительные сведения и руководство по новым версиям Scala IDE можно найти в документации Как настроить Eclipse.

Примечание. Перед выполнением этой настройки обязательно выполните сборку из командной строки один раз (mvn clean install -DskipTests, см. выше)

  1. Загрузите Scala IDE (предпочтительно) или установите плагин в Eclipse Kepler. Ссылки для скачивания и инструкции см. В разделе Как настроить Eclipse.
  2. Добавьте плагин компилятора "macroparadise" в компилятор Scala. Открыть "Окно" -> "Настройка" -> "Скала" -> "Compiler" -> "Advanced" и ввести в поле "Xplugin" путь к macroparadise файлу банка (обычно "/ дом /-Ваш-user-/.m2/repository/org/scalamacros/paradise_2.10.4/2.0.1/paradise_2.10.4-2.0.1.jar"). Примечание. Если у вас нет файла jar, вероятно, вы не запускали сборку из командной строки.
  3. Импортируйте проекты Flink Maven ("Файл" -> "Импорт" -> "Maven" -> "Существующие проекты Maven")
  4. Во время импорта Eclipse попросит автоматически установить дополнительные вспомогательные плагины сборки Maven.
  5. Закройте проект "flink-java8". Поскольку Eclipse Kepler не поддерживает Java 8, вы не можете разрабатывать этот проект.

Поддержка

Не стесняйтесь спрашивать!

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

Откройте вопрос, если вы обнаружили ошибку во Flink.

Документация

Документация Apache Flink находится на сайте: http://flink.apache.org/ или вdocs/ каталог исходного кода.

Вилка и вклад

Это активный проект с открытым исходным кодом. Мы всегда открыты для людей, которые хотят использовать систему или внести в нее свой вклад. Свяжитесь с нами, если вы ищете задачи по реализации, соответствующие вашим навыкам. В этой статье описывается, как внести свой вклад в Apache Flink.

Около

Apache Flink - это проект с открытым исходным кодом Apache Software Foundation (ASF). Проект Apache Flink возник на основе исследовательского проекта http://stratosphere.eu/.