1. 程式人生 > >thriftserver與spark application的區別

thriftserver與spark application的區別

一.ThriftServer介紹

ThriftServer是一個JDBC/ODBC介面,使用者可以通過JDBC/ODBC連線ThriftServer來訪問SparkSQL的資料。ThriftServer在啟動的時候,會啟動了一個sparkSQL的應用程式,而通過JDBC/ODBC連線進來的客戶端共同分享這個sparkSQL應用程式的資源,也就是說不同的使用者之間可以共享資料;ThriftServer啟動時還開啟一個偵聽器,等待JDBC客戶端的連線和提交查詢。所以,在配置ThriftServer的時候,至少要配置ThriftServer的主機名和埠,如果要使用hive資料的話,還要提供hive metastore的uris。

二:spark application執行過程

大體分為三部分:(1)SparkConf建立;(2)SparkContext建立;(3)任務執行。
構建Spark Application的執行環境。建立SparkContext後,SparkContext向資源管理器註冊並申請資源。這裡說的資源管理器有Standalone、Messos、YARN等。事實上,Spark和資源管理器關係不大,主要是能夠獲取Executor程序,並能保持相互通訊。在SparkContext初始化過程中,Spark分別建立作業排程模組DAGScheduler和任務排程模組TaskScheduler(此例為Standalone模式下,在YARN-Client模式下任務排程模組為YarnClientClusterScheduler,在YARN-Cluster模式下為YarnClusterScheduler)。

三:總結

ThriftServer是一個不同的使用者之間可以共享資料,常服務
spark application是每次啟動都要申請資源,是例行的

四:如何把spark application變成常服務

部落格: