【大数据/spark/tachyon】请问关于tachyon的内存管理机制和应用

1、请问什么情况数据是确定放在内存的呢,我做loadufs操作从hdfs加载到tachyon的都是看到 not in memory 的,但是用spark textFile(tachyon://hostname:19998/test.txt)调用文件后,后来在web UI上又能看到有部分加载到内存了,比如 69% in memory,
然后saveAsTextFile(tachyon://hostname:19998/reasult.txt)输出的的都一定是在内存的。
2、请问tachyon 和 tachyon-fs 是什么区别呢?
3、把RDD数据rdd.persist(StorageLevel.OFF_HEAP)

真的能有效率提升吗?提升spark分析速度吗?怎么用才是最合理的。

先谢谢各位专家大牛指导

本人大致了解点,说的也可能不对。
1.放在哪里,应该是tachyon根据它的配置决定的。
2. tachyon-fs你指的是 TachyonFS这个类吗?这个类只是给java 的一个API,通过它获取文件、删除文件等。
3.把RDD放入tachyon主要目的应该是为了减少GC

当saveAsText-> tachyon 的时候 数据就被放到了tachyon文件系统中,文件叫做in-memory files 一般
除非这个数据是需要被各个apps 共享的中间数据不然一般不要 保存成in-memory 数据。

直接从hdfs上加载即可 tachyon会动态的 load 和释放。

------》

不过我碰到个问题,就是tachyon的worker memory 设置的比较小,但是在处理大文件的时候还是会使用swap。直接导致性能下降。
这点比较郁闷

Spark中操作tachyon的方法有哪些了?sc.textfile("tachyon://hdp04:19998/");saveAsTextFile("tachyon://hdp04:19998/");persist(StorageLevel.OFF_HEAP);还有其他方式吗?