一种数据写入方法、装置、设备及可读存储介质制造方法及图纸

技术编号:35306099 阅读:21 留言:0更新日期:2022-10-22 12:56
本申请公开了一种数据写入方法、装置、设备及可读存储介质,该方法包括Flink接收配置文件,并从配置文件中读取任务信息;根据任务信息,获取任务对应的数据;从数据中读取分区字段,并根据分区字段,将数据写入文件系统中对应的时间分区;若数据为延迟发送的数据,则将数据写入文件系统的历史分区。通过配置文件得到任务信息,并根据任务信息获取对应的数据。从数据中可以读取并基于分区字段,便可将数据写入文件系统中对应的时间分区。解决了具体如何将数据匹配性写入文件系统中的各个分区。此外,对于延迟数据,将其写入到文件系统的历史分区,可以避免延迟数据过多,全写入正常分区中导致机器的文件句柄打开过多造成的集群问题。群问题。群问题。

【技术实现步骤摘要】
一种数据写入方法、装置、设备及可读存储介质


[0001]本申请涉及存储
,特别是涉及一种数据写入方法、装置、设备及可读存储介质。

技术介绍

[0002]将数据写入文件系统,常规的做法是使用flink内置封装的StreamingFileSink来进行实现。但是,在于分布式文件系统适配的过程中,仍然存在问题,如数据具体如何写入分布式文件系统中的分区,以及句柄打开过多等。
[0003]综上所述,如何有效地解决数据写入等问题,是目前本领域技术人员急需解决的技术问题。

技术实现思路

[0004]本申请的目的是提供一种数据写入方法、装置、设备及可读存储介质,能够有效解决数据写入问题。
[0005]为解决上述技术问题,本申请提供如下技术方案:
[0006]一种数据写入方法,包括:
[0007]Flink接收配置文件,并从所述配置文件中读取任务信息;
[0008]根据所述任务信息,获取任务对应的数据;
[0009]从所述数据中读取分区字段,并根据所述分区字段,将所述数据写入文件系统中对应的时间分区;
[0010]若所述数据为延迟发送的数据,则将所述数据写入所述文件系统的历史分区。
[0011]优选地,将所述数据写入文件系统中对应的时间分区,包括:
[0012]在所述数据的大小达到写入大小阈值,则执行将所述数据写入文件系统中对应的时间分区的步骤;
[0013]在所述数据大小未达到所述写入大小阈值的情况下,若超时未向所述文件系统写入数据,则执行将所述数据写入文件系统中对应的时间分区的步骤。
[0014]优选地,超时未向所述文件系统写入数据,包括:
[0015]若获取到定时产生的时钟数据,则确定超时未向所述文件系统写入数据。
[0016]优选地,所述接收配置文件,包括:
[0017]接收配置文件夹;所述任务文件夹包括至少两个任务分别对应的所述配置文件。
[0018]优选地,将所述数据写入文件系统中对应的时间分区,包括:
[0019]从数据库中获取所述数据对应的字段大小和字段类型;
[0020]按照所述字段大小和所述字段类型,将所述数据写入文件系统中对应的时间分区。
[0021]优选地,还包括:
[0022]从所述历史分区中读取暂存的延迟数据,并读取所述延迟数据的分区字段;
[0023]根据所述分区字段,将所述延迟数据写入所述文件系统中对应的时间分区。
[0024]优选地,若所述数据为延迟发送的数据,则将所述数据写入所述文件系统的历史分区,包括:
[0025]若在数据产生后指定时长内未获取到所述数据,则在获取到所述数据后,将所述数据写入所述历史分区。
[0026]优选地,将所述数据写入文件系统中对应的时间分区,包括:
[0027]将所述数据并行写入所述文件系统中的临时目录中;
[0028]在完成数据写入后,将所述数据转入分区目录。
[0029]一种数据写入装置,应用于Flink,包括:
[0030]信息获取模块,用于接收配置文件,并从所述配置文件中读取任务信息;
[0031]数据拉取模块,用于根据所述任务信息,获取任务对应的数据;
[0032]分区写入模块,用于从所述数据中读取分区字段,并根据所述分区字段,将所述数据写入文件系统中对应的时间分区;
[0033]合并写入模块,用于若所述数据为延迟发送的数据,则将所述数据写入所述文件系统的历史分区。
[0034]合并写入模块一种电子设备,包括:
[0035]存储器,用于存储计算机程序;
[0036]处理器,用于执行所述计算机程序时实现上述数据写入方法的步骤。
[0037]一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据写入方法的步骤。
[0038]应用本申请实施例所提供的方法,Flink接收配置文件,并从配置文件中读取任务信息;根据任务信息,获取任务对应的数据;从数据中读取分区字段,并根据分区字段,将数据写入文件系统中对应的时间分区;若数据为延迟发送的数据,则将数据写入文件系统的历史分区。
[0039]在本申请中,通过配置文件得到任务信息,并根据任务信息获取对应的数据。从数据中可以读取到分区字段。基于该分区字段便可将数据写入文件系统中对应的时间分区。解决了具体如何将数据匹配性写入文件系统中的各个分区。此外,在数据被延迟发送,则直接将该数据写入到文件系统的历史分区,可以避免延迟数据过多,全部写入正常分区中导致机器的文件句柄打开过多造成的集群问题。
[0040]相应地,本申请实施例还提供了与上述数据写入方法相对应的数据写入装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
[0041]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]图1为本申请实施例中一种数据写入方法的实施流程图;
[0043]图2为本申请实施例中一种数据处理框架示意图;
[0044]图3为本申请实施例中一种数据写入装置的结构示意图;
[0045]图4为本申请实施例中一种电子设备的结构示意图;
[0046]图5为本申请实施例中一种电子设备的具体结构示意图。
具体实施方式
[0047]为了使本
的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0048]请参考图1,图1为本申请实施例中一种数据写入方法的流程图,该方法可以具体应用于Flink(一种分布式流数据流引擎)中。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。
[0049]Flink可具体应用于如图2所示数据处理框架中充当数据消费者。
[0050]其中,Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
[0051]如flume(一种高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume可提供对数据进行简单处理,并写到各种数据接受方的能力)的数据生产者将数据发送到kafka中后,kafka做中间件做缓冲之后,flink去消费,并且将消费的数据落地到Hadoop分布式文件系统或Hadoop分布式文件系统(Hadoop Distribu本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据写入方法,其特征在于,包括:Flink接收配置文件,并从所述配置文件中读取任务信息;根据所述任务信息,获取任务对应的数据;从所述数据中读取分区字段,并根据所述分区字段,将所述数据写入文件系统中对应的时间分区;若所述数据为延迟发送的数据,则将所述数据写入所述文件系统的历史分区。2.根据权利要求1所述的数据写入方法,其特征在于,将所述数据写入文件系统中对应的时间分区,包括:在所述数据的大小达到写入大小阈值,则执行将所述数据写入文件系统中对应的时间分区的步骤;在所述数据大小未达到所述写入大小阈值的情况下,若超时未向所述文件系统写入数据,则执行将所述数据写入文件系统中对应的时间分区的步骤。3.根据权利要求2所述的数据写入方法,其特征在于,超时未向所述文件系统写入数据,包括:若获取到定时产生的时钟数据,则确定超时未向所述文件系统写入数据。4.根据权利要求1所述的数据写入方法,其特征在于,所述接收配置文件,包括:接收配置文件夹;所述任务文件夹包括至少两个任务分别对应的所述配置文件。5.根据权利要求1所述的数据写入方法,其特征在于,将所述数据写入文件系统中对应的时间分区,包括:从数据库中获取所述数据对应的字段大小和字段类型;按照所述字段大小和所述字段类型,将所述数据写入文件系统中对应的时间分区。6.根据权利要求1所述的数据写入方法,其特征在于,还包括:从所述历史分区中读取暂存的延迟数据...

【专利技术属性】
技术研发人员:姜春阳
申请(专利权)人:深圳市网心科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1