2016-09-20 2 views
3

Я разработал приложение для отчетности в PHP. Приложение построено с использованием HTML, CSS, javascript-библиотек, диаграммной библиотеки (Highcharts) & MySQL для хранения данных. Пользователь выбирает некоторые опции в интерфейсе &, нажимая кнопку «Отправить». Затем слой PHP выполняет кучу требуемых SQL-запросов. & отправляет результат json обратно в пользовательский интерфейс, где рисуются таблицы данных &.Apache Spark - серверы backend

Требование теперь состоит в том, чтобы подключить большое решение для обработки данных Apache Spark к существующему приложению. Я изучаю последние 2 недели, если я могу каким-то образом подключить приложение PHP, используя REST API или какой-то драйвер Spark SQL для подключения к Spark SQL-серверу & выполнить тот же набор SQL, который у меня есть сейчас, на Spark SQL. Я еще не выбрал решение. Теперь я начал изучать технологии Java, такие как Spring, другие, такие как Angularjs, Nodejs, другие среды MVC, чтобы переписать проект с нуля. Я не большой поклонник разработки java, поскольку я не хардкорный разработчик (я создаю несколько удобных инструментов, чтобы все было сделано).

Я прочитал это - https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-PHP, но похоже, что он предназначен для автономной искровой установки. Я имею дело с огромным кластером в моем случае.

Я очень ценю любое направление здесь, пожалуйста.

ответ

3

Да, это может быть сделано с помощью улья контекста и искровой SQL сервера бережливости в свече приложении.

Вы можете запустить свое искровое приложение и выполнить всю обработку. После обработки, если вы используете кадр данных, вам нужно просто зарегистрировать его как временную таблицу.

Теперь вы можете запустить бережливый сервер из искрового приложения.

После запуска бережливого сервера вы можете запросить временную таблицу и получить результаты и идеи, используя правильные дайверы jdbc в PHP.

см ссылку ниже для получения более подробной информации https://medium.com/@anicolaspp/apache-spark-as-a-distributed-sql-engine-4373e254e0f9#.ekc3cs28u

+0

Я не думаю, что вы можете запросить временные таблицы, созданные в другом искрообразовании, используя Spark Thrift Server (STS). Вам нужно сохранить данные в улей, чтобы другие могли видеть. –

+0

Это работает, вы должны просто зарегистрировать dataframe в таблице temp и вместо использования контекста sql sql вам нужно использовать контекст улья. я использовал его для интеграции искры в веб-службы. –

+0

Спасибо Kamal. Высоко цените вашу помощь. – usert4jju7

1

Вы используете какой-либо конкретный кластер, например cloudera или hortonworks?

В случае с Cloudera вы должны использовать Impala и соответствующие драйверы JDBC. В HDP вы должны использовать Spark Thrift Server с соответствующими драйверами JDBC.

+0

Благодаря Аян. Цените свою подачу в – usert4jju7

2

Возможно, это не то, что вы хотите. Но если вы решили использовать Scala для его создания. Вот одно из возможных решений.

  • Наличие веб-сервера, который либо использует Spark отдельно, либо подключается к кластеру.
  • Использование spark-highcharts для построения Spark DataFrame с высокими диаграммами
  • Написание кода, который принимает некоторые параметры из Интернета и позволяет выполнять его на бэкэнд-сервере.
+0

Спасибо Rockie. Цените свои усилия – usert4jju7