问这个问题听起来很幼稚,但这是我最近在项目中遇到的一个问题。需要更好的理解。
df.persist(StorageLevel.MEMORY_AND_DISK)
每当我们在hbase read上使用这种persist时,同样的数据会一次又一次地返回给流作业的其他后续批处理,但每次批处理运行时都会更新hbase。
hbase读取代码:
val df = sqlContext.read.options(Map(HBaseTableCatalog.tableCatalog -> schema)).format(dbSetup.dbClass).load().persist(StorageLevel.MEMORY_AND_DISK)
我替换了 persist(StorageLevel.MEMORY_AND_DISK)
与 cache()
它正在按预期从hbase表返回更新的记录。
我们尝试使用 persist(StorageLevel.MEMORY_AND_DISK)
是为了确保内存中的存储不会被填满,并且在执行特定流的过程中,我们不会再次执行所有的转换。
spark版本-1.6.3 hbase版本-1.1.2.2.6.4.42-1
有人能给我解释一下,帮助我更好地理解吗?
暂无答案!
目前还没有任何答案,快来回答吧!