Я разработал приложение для отчетности на PHP. Приложение построено с использованием HTML, CSS, библиотек JavaScript, библиотеки графиков (Highcharts). & MySQL для хранения данных. Пользователь выбирает некоторые параметры в интерфейсе & нажимает кнопку «Отправить». Затем слой PHP выполняет кучу необходимых SQL & отправляет результат JSON обратно в пользовательский интерфейс, где график & Таблицы данных составлены.
Теперь требуется, чтобы иметь возможность подключить решение для больших данных 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, но похоже, что это для автономной установки искры. Я имею дело с огромным кластером в моем случае.
Я очень ценю любое направление здесь, пожалуйста.
Да, это можно сделать, используя контекстный улей и сервер Spark SQL в приложении Spark.
Вы можете запустить свое искровое приложение и выполнить всю обработку. После обработки, если вы используете фрейм данных, вам нужно просто зарегистрировать его как временную таблицу.
Теперь вы можете запустить комиссионный сервер из приложения spark.
После запуска Thrift-сервера вы можете запросить временную таблицу и получить результаты и выводы, используя надлежащие jdbc divers в PHP.
обратитесь к ссылке ниже для более подробной информации
https://medium.com/@anicolaspp/apache-spark-as-a-distributed-sql-engine-4373e254e0f9#.ekc3cs28u
Это может не то, что вы хотите. Но если вы планируете использовать Scala для его создания. Вот одно из возможных решений.
Используете ли вы какой-либо конкретный кластер, например, Cloudera или Hortonworks?
В случае Cloudera вы должны использовать Impala и соответствующие драйверы JDBC.
В HDP вы должны использовать Spark Thrift Server с соответствующими драйверами JDBC.