Apache Spark - 后端服务器

时间:2016-09-20 04:28:13

标签: php apache-spark apache-spark-sql

我用PHP开发了一个报告应用程序。该应用程序使用HTML,CSS,javascript库,图表库(Highcharts)和MySQL存储数据。用户在前端和前端选择一些选项。点击“提交”按钮"。然后PHP层执行一堆必需的SQL&将json结果发送回UI,其中包含图表和&绘制数据表。

现在的要求是,能够将大数据解决方案Apache Spark插入现有应用程序。如果我可以使用REST API插入PHP应用程序或使用某种Spark SQL驱动程序连接到Spark SQL服务器,那么我在过去的两周内一直在研究。在Spark SQL上执行我现在拥有的同一组SQL。我还没有找到解决方案。我现在开始研究基于Java的技术,比如Spring,其他如Angularjs,Nodejs等其他MVC框架,从头开始重写项目。我并不是Java开发的忠实粉丝,因为我不是一个核心开发人员。(我构建了一些方便的工具来完成工作)。

我确实读过这个 - https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-PHP,但看起来像是一个独立的火花安装。在我的案例中,我正在处理一个庞大的集群。

我非常感谢这里的任何方向。

3 个答案:

答案 0 :(得分:4)

  

是的,可以通过在spark应用程序中使用hive上下文和spark sql thrift服务器来完成。

您可以运行spark应用程序并执行所有处理。处理后如果使用数据框,则必须将其注册为临时表。

现在你可以从spark应用程序启动一个thrift服务器了。

启动thrift服务器后,您可以查询临时表,并使用PHP中正确的jdbc divers获取结果和见解。

请参阅以下链接了解更多详情 https://medium.com/@anicolaspp/apache-spark-as-a-distributed-sql-engine-4373e254e0f9#.ekc3cs28u

答案 1 :(得分:2)

这可能不是你想要的。但是如果你考虑使用Scala来构建它。这是一种可能的解决方案。

  • 拥有使用Spark独立或连接到群集的Web服务器。
  • 使用spark-highcharts使用highcharts
  • 绘制Spark DataFrame
  • 编写一些从Web接受某个选项的代码,并让它在后端Web服务器中执行。

答案 2 :(得分:1)

您是否正在使用任何特定群集,例如cloudera或hortonworks?

对于Cloudera,您应该使用Impala和相应的JDBC驱动程序。 在HDP中,您应该使用Spark Thrift Server以及相应的JDBC驱动程序。