[发明专利]一种SparkStreaming在存储设备中存储文件为固定大小的方法在审
申请号: | 201911367850.4 | 申请日: | 2019-12-26 |
公开(公告)号: | CN111142798A | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 苗志鹏 | 申请(专利权)人: | 紫光云(南京)数字技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南京市浦口区江浦街*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sparkstreaming 存储 设备 文件 固定 大小 方法 | ||
本发明的一种SparkStreaming在存储设备中存储文件为固定大小的方法,包括如下步骤:S1:配置文件大小X;S2:读取一个批次的数据量Y;S3:判断,Y为0则结束处理,进入下一批次,Y不为0进入S4;S4:查找小于X的文件,不存在则创建新文件,开启文件IO流;S5:判断文件大小是否大于X;S601:文件不大于X,将数据追加到文件中,关闭文件IO流,进入下一批次;S602:若文件大于X,则将数据拆分成两部分,一部分数据的数据量与文件大小之和恰为X,将数据追加到文件中,关闭文件IO流,结束,另一部分数据进入步骤S5再次执行。该方法能处理不固定的输入数据量,实现输出的文件为固定大小的目的。
技术领域
本发明涉及一种SparkStreaming在存储设备中存储文件为固定大小的方法,属于互联网技术领域。
背景技术
SparkStreaming是Spark的一个组件,主要用于微批次处理实时数据。其特点在于:按照固定的时间间隔处理数据,因此每个批次接收到的数据量不一定相同。
由于上述原因,SparkStreaming每个批次处理结果的数据量不一定相同,因此在输入数据量不固定但输出数据量要求固定的场景中,使用SparkStreaming很难令人满意。
发明内容
为克服现有技术的不足,本发明提出一种SparkStreaming在存储设备中存储文件为固定大小的方法,其能处理不固定的输入数据量,实现输出的文件为固定大小的目的。
为实现上述目的,本发明的一种SparkStreaming在存储设备中存储文件为固定大小的方法,包括如下步骤:
S1:配置文件大小X,启动任务;
S2:SparkStreaming组件读取一个批次的数据,读取出该批次的数据量Y;
S3:对数据量Y进行判断,若Y为0则结束该批次数据处理,进入下一批次,若Y不为0则进入步骤S4;
S4:SparkStreaming组件在存储设备目录中查找文件大小小于X的文件,若不存在则按时间戳创建新文件,开启文件IO流;
S5:判断数据追加到文件中后,文件的大小是否大于X;
S601:若文件不大于X,则将数据追加到文件中,关闭文件IO流,停止修改文件,结束该批次数据处理,进入下一批次;
S602:若文件大于X,则将数据拆分成两部分,一部分数据的数据量与文件大小之和恰为X,将数据追加到文件中,关闭文件IO流,停止修改文件,结束该批次数据处理,另一部分数据重新进入步骤S5再次执行。
进一步地,在步骤S4中,遍历目录中所有文件,查找时间戳最大的文件,然后判断该文件是否大于X。
进一步地,在步骤S4中,目录中的文件名均具备时间戳信息,在判断时间戳大小前,以统一的切分方式将时间戳信息取出。
本发明的一种SparkStreaming在存储设备中存储文件为固定大小的方法能处理不固定的输入数据量,实现输出的文件为固定大小的目的。
附图说明
下面结合附图对本发明作进一步描写和阐述。
图1是本发明首选实施方式的一种SparkStreaming在存储设备中存储文件为固定大小的方法的流程图。
具体实施方式
下面将结合附图、通过对本发明的优选实施方式的描述,更加清楚、完整地阐述本发明的技术方案。
如图1所示,本发明首选实施方式的一种SparkStreaming在存储设备中存储文件为固定大小的方法,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云(南京)数字技术有限公司,未经紫光云(南京)数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911367850.4/2.html,转载请声明来源钻瓜专利网。