我正在使用spark 1.5.2,我的应用程序在文件上创建了StreamingContext并运行窗口操作,窗口为30秒,滑动间隔为10秒。 我使用foreachRDD将从windowstream获得的每个RDD转换为数据帧,并使用registerTempTable将其注册为表,名称为" T_Subs_Rev"。
在运行应用程序时,spark GUI显示," T_Subs_Rev"在每个滑动间隔(使用CACHE TABLE时)反复创建。并且为每个在内存中使用各自大小创建的新表继续添加条目。
Q1)想知道表名是否相同" T_Subs_Rev",实际发生了什么......新条目会替换内存中的旧表吗?或者仍然在内存中创建所有具有相同名称的表。
Q2)我们可以控制一个表在内存中缓存多长时间,就像使用一些时间参数一样,而不必显式调用UNCACHE。