我需要开发一个流式应用程序,它从多个来源读取一些会话日志。 批次间隔可以是大约5分钟的比例..
问题是我在每批中获得的文件差别很大。在每个批次中,我可以获得一些10兆字节的文件,然后在另一批中获得一些大约20GB的文件。
我想知道是否有任何方法可以解决这个问题。文件流可以为每个批次生成RDD的大小有限制吗?
我可以限制火花流以将每批中固定数量的数据读入RDD吗?
答案 0 :(得分:0)
据我所知,没有直接的方法来限制它。要考虑的文件是在FileStream中的isNewFile私有函数中控制的。根据代码,我可以想到一个解决方案。
使用过滤功能限制要读取的文件数。任何超过10的文件都返回false并使用touch命令更新要考虑用于下一个窗口的文件的时间戳。
startActivityForResult(AuthUI.getInstance()
.createSignInIntentBuilder()
.setProviders(AuthUI.EMAIL_PROVIDER,
AuthUI.FACEBOOK_PROVIDER,
AuthUI.GOOGLE_PROVIDER)
.setTheme(R.style.AuthStyle)
.build()
,1);