2017-08-16 53 views
2

我有一個Spark Thrift服務器。我連接到Thrift Server並獲取Hive表的數據。如果我再次查詢同一個表,它將再次將文件加載到內存中並執行查詢。在Spark Thrift服務器中緩存數據幀

有什麼辦法可以使用Spark Thrift Server緩存表數據?如果是的話,請讓我知道如何做到這一點

回答

1

兩件事情:

記住,緩存是懶惰的,所以它會先計算期間被緩存

+0

是否有任何UI或東西可以看到緩存表? –

+0

@AdityaCalangutkar它將在Spark UI的存儲選項卡上顯示,但是作爲RDD而非DataFrame或數據集 –

+0

您可以通過SQL控制緩存嗎(如持久方法)? (內存/磁盤) –

0

注重內存可以通過驅動程序被消耗掉,而不是執行者(取決於你的設置,本地/集羣... ),所以不要忘記爲你的驅動分配更多的內存。

爲了把數據:

CACHE TABLE today AS 
SELECT * FROM datahub WHERE year=2017 AND fullname IN ("api.search.search") LIMIT 40000 

開始通過限制數據,再看看內存是如何消耗掉,以避免OOM異常。

Spark history web UI