【问题标题】:Apache Spark - Backend serversApache Spark - 后端服务器
【发布时间】:2016-09-20 04:28:12
【问题描述】:

我用 PHP 开发了一个报告应用程序。该应用程序使用 HTML、CSS、javascript 库、图表库(Highcharts)和 MySQL 构建来存储数据。用户在前端选择一些选项并单击“提交按钮”。然后 PHP 层执行一系列必需的 SQL 并将 json 结果发送回绘制图表和数据表的 UI。

现在的要求是,为了能够将大数据解决方案、Apache Spark 插入现有应用程序。在过去的两周里,我一直在研究是否可以以某种方式使用 REST API 或某种 Spark SQL 驱动程序插入 PHP 应用程序以连接到 Spark SQL 服务器并执行我现在拥有的同一组 SQL,在火花 SQL。我还没有找到解决方案。我现在已经开始研究基于 java 的技术,例如 Spring,其他例如 Angularjs、Nodejs 和其他 MVC 框架,以从头开始重写项目。我不是 Java 开发的忠实拥护者,因为我不是铁杆开发人员。(我构建了一些方便的工具来完成工作)。

我确实读过这个 - https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-PHP,但看起来它是用于独立 spark 安装的。就我而言,我正在处理一个巨大的集群。

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

【问题讨论】:

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


    【解决方案1】:

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

    您可以运行您的 spark 应用程序并进行所有处理。如果您使用的是数据框,则处理后只需将其注册为临时表即可。

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

    启动 thrift 服务器后,您可以使用 PHP 中的适当 jdbc 潜水员查询临时表并获取结果和见解。

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

    【讨论】:

    • 我不认为您可以使用 Spark Thrift Server (STS) 查询在另一个 spark 应用程序中创建的临时表。您需要将数据保存到 hive 以供其他人查看。
    • 它可以工作,您只需将数据帧注册到临时表,而不是使用 spark sql 上下文,您需要使用 hive 上下文。我一直在使用它来将 Spark 集成到 Web 服务中。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-04
        • 1970-01-01
        • 2014-09-26
        • 2013-09-06
        • 1970-01-01
        • 2012-07-11
        • 2015-07-29
        相关资源
        最近更新 更多