前提是已經有 Shark , 咱們也假設你已經安裝了 Tachyon 和 Hadoop 根據 Local Mode or Cluster Mode。html
Shark 0.7 增長了一個新的存儲格式支持從 Tachyon 高效率讀取數據,這使得在 Shark 實例間數據共享和隔離。咱們的聚會幻燈片(slide)給出了使用Tachyon 緩存 Shark's 表的好處一個很好的概述。總之,如下四個是主要的:git
內存中的數據共享多個 Shark 實例 (即:增強隔離)github
即時恢復內存中的表web
減小 Shark 的堆大小致使的頻繁GC 問題緩存
若是表的大小超出了可用內存總數,只有經常使用列會被緩存在內存中(譯者注:根據使用頻率緩存)ide
Tachyon 版本 | Shark 版本 |
---|---|
0.2.1 | 0.7.x |
0.3.0 | 0.8.1 |
0.4.0 | 0.9.0 |
0.4.1 | 0.9.1 + |
0.5.0 | 0.9.1 + |
爲了基於Tachyon運行 Shark,首先須要配置Tachyon,在 Local Mode or in Cluster Mode, 及 HDFS 。oop
而後添加如下行內容在 shark-env.sh:
spa
export TACHYON_MASTER="tachyon://TachyonMasterHost:TachyonMasterPort" export TACHYON_WAREHOUSE_PATH=/sharktables
組合方式在Tachyon 上建立緩存表,運行這些查詢須要一些數據已經在 文件系統 或加載到 Shark。code
CREATE TABLE data TBLPROPERTIES(「shark.cache」 = 「tachyon」) AS SELECT a, b, c from data_on_disk WHERE month=「May」;
CREATE TABLE orders_tachyon AS SELECT * FROM orders;
orm
以後再Tachyon中建立這個表,你能夠像其餘表那樣查詢它。