我们在前面用了许多章节来讨论如何把数据从后台数据库中搬到内存,然后进行逐行操作运算.我们选定的解决方案是把后台数据转换成内存中的数据流.无论在打开数据库表或从数据库读取数据等环节都涉及到对数据库表这项资源的安全使用:我们最起码要保证在完成使用或者使用中途出现错误异常退出时能释放占用的资源.谈到资源使用安全,不得不想到函数式编程通用的那个bracket函数,fs2同样提供了这个函数: def bracket[F[_],R,A](r: F[R])(use: R => Stream[F,A], rel…