2 zhaozhiqiang1990 zhaozhiqiang1990 于 2015.05.28 22:10 提问

【大数据/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分析速度吗?怎么用才是最合理的。

先谢谢各位专家大牛指导

3个回答

llx1943llx
llx1943llx   2015.05.29 09:53

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

zhaozhiqiang1990
zhaozhiqiang1990 多谢,1、我也认识是通过配置决定的,目前还不清楚怎么操作。感觉hadfs文件这么多,文件这么大内存也扛不住啊 2、我指的是看到有两种方式读取或保存文件 textFile(tachyon://hostname:19998/test.txt) 或者textFile(tachyon-fs://hostname:19998/test.txt) 3、减少java GC 对spark 任务的执行效率有多大提升呢?这块最近正在验证,需要把所有RDD的变量每次都persist到tachyon吗
2 年多之前 回复
ccuizhou
ccuizhou   2016.04.05 15:54

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

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

------》

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

chenchaofuck1
chenchaofuck1   2016.12.15 22:49

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

Csdn user default icon
上传中...
上传图片
插入图片