2016-09-20 90 views
3

我已經開發了PHP中的報告應用程序。該應用程序是用HTML,CSS,JavaScript庫,圖表庫(Highcharts)& MySQL來存儲數據。用戶在前端選擇一些選項&點擊「提交按鈕」。然後PHP層執行一堆所需的SQL &將json結果發送回繪製數據表的圖表&的UI。Apache Spark - 後端服務器

現在的需求是,能夠將Apache Spark的大數據解決方案插入到現有應用程序中。我一直在研究最近2周,如果我可以在某種程度上使用REST API或某種Spark SQL驅動程序插入PHP應用程序來連接到Spark SQL服務器&執行我現在擁有的同一組SQL Spark SQL。我還沒有找到解決方案。我現在已經開始研究基於Java的技術,比如Spring,其他的如Angularjs,Nodejs的其他MVC框架從頭開始重寫項目。我並不是Java開發人員的粉絲,因爲我不是一名核心開發人員(我創建了一些方便的工具來完成任務)。

我的確看過這個 - https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-PHP,但看起來像是獨立的火花安裝。我在處理一個龐大的羣集。

我非常感謝這裏的任何方向。

回答

3

是的,它可以通過使用蜂巢背景下,引發火花應用程序SQL節儉服務器來完成。

你可以運行你的應用程序的火花,並完成所有的處理。處理完後,如果您使用的是數據框,則必須將其註冊爲臨時表。

現在你可以開始從火花應用舊貨服務器。

開始節儉服務器後,您可以查詢臨時表,並得到使用PHP正確的JDBC潛水員結果和見解。

參考更多詳細信息 https://medium.com/@anicolaspp/apache-spark-as-a-distributed-sql-engine-4373e254e0f9#.ekc3cs28u

+0

我不認爲您可以使用Spark Thrift Server(STS)查詢在另一個Spark應用程序中創建的臨時表。您需要保存數據以供其他人查看。 –

+0

它的工作原理你只需要註冊數據幀到臨時表,而不是使用spark sql上下文,你需要使用配置單元上下文。我一直在使用它來整合Spark到Web服務。 –

+0

謝謝卡邁勒。非常感謝您的幫助。 – usert4jju7

1

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

對於Cloudera,您應該使用Impala和相應的JDBC驅動程序。 在HDP中,您應該使用Spark Thrift Server和相應的JDBC驅動程序。

+0

感謝阿燕下面的鏈接。感謝您在 – usert4jju7

2

這可能不是你想要的。但是如果你考慮使用Scala來構建它。這是一個可能的解決方案。

  • 擁有一個使用Spark standalone或連接到羣集的Web服務器。
  • 使用spark-highcharts以高位圖繪製Spark DataFrame
  • 編寫一些代碼,它接受來自web的某些選項並讓它在後端Web服務器中執行。
+0

的投資感謝Rockie。感謝您的努力 – usert4jju7

相關問題