前提是已经有 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中建立这个表,你能够像其余表那样查询它。