数据处理方法及装置与流程

    专利2022-07-08  75


    本申请涉及一种数据处理方法及装置,属于计算机技术领域。



    背景技术:

    hive是基于hadoop的一个数据仓库工具。hive用于进行数据提取、转化、加载,是一种可以存储、查询和分析存储在hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供sql查询功能,能将sql语句转变成mapreduce任务来执行。

    然而,hive不适合用于在线事务处理,也不提供实时查询功能,此时,无法满足实时在线的数据处理需求。



    技术实现要素:

    本申请提供了一种数据处理方法及装置,可以解决hive执行sql的数据处理方式单一,可能存在无法满足用户的数据处理需求的问题。本申请提供如下技术方案:

    第一方面,提供了一种数据处理方法,所述方法包括:

    显示可视化的配置页面;

    通过所述配置页面中的数据导入控件进行数据建模,以将待处理数据导入至hive库;

    通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql;

    在所述目标sql的执行需求为在线执行时,使用presto执行所述目标sql;

    在所述目标sql的执行需求为定时执行时,使用hive执行所述目标sql。

    可选地,所述通过所述配置页面中的数据导入控件进行数据建模,包括:

    通过所述数据导入控件配置数据库连接,以通过直连数据库查询的方式同步表结构到平台元数据中;

    和/或,

    通过所述数据导入控件配置映射关系,从关系库将数据导入到所述hive库;

    和/或,

    通过所述数据导入控件配置映射关系,从非结构化文件导入数据到所述hive库;

    和/或,

    通过所述数据导入控件导入库表资源;在所述库表资源支持配置定时任务时,定时同步数据到所述hive库。

    可选地,所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:

    在所述配置页面中显示输入流中的字段;接收用户对所述字段的选择操作,得到包括所述选中字段的目标sql。

    可选地,所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:

    在所述配置页面中接收对输入的两张表执行的关联操作,得到所述目标sql。

    可选地,所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:

    在所述hive库的默认函数不支持所述数据处理需求时,获取自定义函数包,所述自定义函数包包括支持所述数据处理需求的自定义函数;

    将所述自定义函数包注册至所述hive库,并触发执行所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql的步骤,所述数据处理控制与所述hive库支持的函数相对应。

    第二方面,提供了一种数据处理装置,所述装置包括:

    页面显示模块,用于显示可视化的配置页面;

    数据建模模块,用于通过所述配置页面中的数据导入控件进行数据建模,以将待处理数据导入至hive库;

    模型建立模块,用于通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql;

    第一执行模块,用于在所述目标sql的执行需求为在线执行时,使用presto执行所述目标sql;

    第二执行模块,用于在所述目标sql的执行需求为定时执行时,使用hive执行所述目标sql。

    可选地,所述数据建模模块,用于:

    通过所述数据导入控件配置数据库连接,以通过直连数据库查询的方式同步表结构到平台元数据中;

    和/或,

    通过所述数据导入控件配置映射关系,从关系库将数据导入到所述hive库;

    和/或,

    通过所述数据导入控件配置映射关系,从非结构化文件导入数据到所述hive库;

    和/或,

    通过所述数据导入控件导入库表资源;在所述库表资源支持配置定时任务时,定时同步数据到所述hive库。

    可选地,所述模型建立模块,用于:

    在所述配置页面中显示输入流中的字段;接收用户对所述字段的选择操作,得到包括所述选中字段的目标sql。

    可选地,所述模型建立模块,用于:

    在所述配置页面中接收对输入的两张表执行的关联操作,得到所述目标sql。

    可选地,所述模型建立模块,用于:

    在所述hive库的默认函数不支持所述数据处理需求时,获取自定义函数包,所述自定义函数包包括支持所述数据处理需求的自定义函数;

    将所述自定义函数包注册至所述hive库,并触发执行所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql的步骤,所述数据处理控制与所述hive库支持的函数相对应。

    本申请的有益效果在于:通过显示可视化的配置页面;通过配置页面中的数据导入控件进行数据建模,以将待处理数据导入至hive库;通过配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql;在目标sql的执行需求为在线执行时,使用presto执行目标sql;在目标sql的执行需求为定时执行时,使用hive执行目标sql;可以解决hive执行sql的数据处理方式单一,可能存在无法满足用户的数据处理需求的问题;可以在模型直接预览或运行时使用presto执行目标sql;在模型发布后定时执行时自动转换为hive执行目标sql;在模型发布后定时执行时自动转换为hive执行目标sql;可以实现hivesql与prestosql的自动切换;以满足用户的数据处理需求。

    另外,通过一套可视化的web界面让用户快速的编排生成sql,并实现数据实时预览,不需要用户编写复杂的sql语句,降低了操作难度。

    上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。

    附图说明

    图1是本申请一个实施例提供的数据处理方法的流程图;

    图2是本申请一个实施例提供的数据导入的界面示意图;

    图3是本申请一个实施例提供的hive库的界面示意图;

    图4是本申请一个实施例提供的列选择的界面示意图;

    图5是本申请一个实施例提供的表关联的界面示意图;

    图6是本申请一个实施例提供的所有数据模型的界面示意图;

    图7是本申请一个实施例提供的一个数据模型的界面示意图;

    图8是本申请一个实施例提供的数据处理装置的框图;

    图9是本申请一个实施例提供的数据处理装置的框图。

    具体实施方式

    下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

    首先,对本申请涉及的若干名词进行介绍。

    结构化查询语言(structuredquerylanguage,sql):是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

    hive:是基于hadoop构建的一套数据仓库分析系统。它提供了丰富的sql查询方式来分析存储在hadoop分布式文件系统中的数据。hive可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能。hive还可以将sql语句转换为mapreduce任务运行,通过自己的sql查询分析需要的内容,这套sql过程简称hivesql。

    presto:是一个分布式sql查询引擎。它被设计为用来专门进行高速、实时的数据分析。它支持标准的ansisql,包括复杂查询、聚合(aggregation)、连接(join)和窗口函数(windowfunctions)。

    presto的运行模型和hive或mapreduce有着本质的区别。hive将查询翻译成多阶段的mapreduce任务,一个接着一个地运行。每一个任务从磁盘上读取输入数据并且将中间结果输出到磁盘上。然而,presto引擎没有使用mapreduce。它使用了一个定制的查询和执行引擎和响应的操作符来支持sql的语法。除了改进的调度算法之外,所有的数据处理都是在内存中进行的。不同的处理端通过网络组成处理的流水线。这样会避免不必要的磁盘读写和额外的延迟。这种流水线式的执行模型会在同一时间运行多个数据处理段,一旦数据可用的时候就会将数据从一个处理段传入到下一个处理段。这样的方式会大大的减少各种查询的端到端响应时间。

    元数据(metadata):又称中介数据、中继数据,为描述数据的数据(dataaboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据可以视为一种电子式目录。

    可选地,本申请以各个实施例的执行主体为计算机设备为例进行说明,该计算机设备可以为台式电脑、笔记本电脑、平板电脑、手机等,本实施例不对计算机设备的设备类型作限定。

    图1是本申请一个实施例提供的数据处理方法的流程图。该方法至少包括以下几个步骤:

    步骤101,显示可视化的配置页面。

    配置页面为一套可视化的web界面,用于供用户快速的编排生成sql,并实现数据实时预览。这样,不需要用户编写复杂的sql语句,降低了操作难度。

    步骤102,通过配置页面中的数据导入控件进行数据建模,以将待处理数据导入至hive库。

    在一个示例中,通过配置页面中的数据导入控件进行数据建模,包括:通过数据导入控件配置数据库连接,以通过直连数据库查询的方式同步表结构到平台元数据中;和/或,通过数据导入控件配置映射关系,从关系库将数据导入到hive库;和/或,通过数据导入控件配置映射关系,从非结构化文件导入数据到hive库;和/或,通过数据导入控件导入库表资源;在库表资源支持配置定时任务时,定时同步数据到hive库。

    可选地,参考图2所示的配置页面,该配置页面中的数据导入控件包括:数据源分类选择控件21、数据源类型选择控件22、数据源选择控件23和表选择控件24,通过不同的控件,可以实现数据导入。

    参考图3所示的hive库,该hive库提供数据搜索功能,即,在配置页面中显示有数据名称输入区域31和搜索控件32。用户通过在数据名称输入区域31中输入需要搜索的数据,点击搜索控件32后,可以实现数据搜索功能。林外,配置页面显示的hive库包括文件资源33和库表资源34,图3中以库表资源34为例,该库表资源34包括hive的序号、来源表名称、所属数据库、hive表名称、导入状态、更新状态、记录数量、导入时间、创建人和调度配置等信息。图3中以库表资源34包括上述信息为例进行说明,在实际实现时,库表资源34也可以包括更多或更少的信息,本实施例不对库表资源34的内容作限定。

    步骤103,通过配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql。

    可选地,通过配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:在hive库的默认函数不支持数据处理需求时,获取自定义函数包,自定义函数包包括支持数据处理需求的自定义函数;将自定义函数包注册至hive库,并触发执行通过配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql的步骤,数据处理控制与hive库支持的函数相对应。

    示意性地,用户可通过编写java代码来自定义hive函数,从而实现复杂的数据处理需求。此时,用户将编写好的udfjar包上传到hdfs;创建udf组件,关联udf函数,并自动注册到hive库。

    在一个示例中,通过配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:在配置页面中显示输入流中的字段;接收用户对字段的选择操作,得到包括选中字段的目标sql。

    参考图4所示的通过列选择得到目标sql的界面示意图,配置页面中显示有模型步骤名称输入区域41和输入流中的字段42;用户对“用户代码”字段和“用水量”字段选择之后,生成“列选择”模型步骤的目标sql。

    在另一个示例中,通过配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:在配置页面中接收对输入的两张表执行的关联操作,得到目标sql。

    参考图5所示的通过表关联得到目标sql的界面示意图,配置页面中显示有模型步骤名称输入区域51、关联类型选择控件52和用户选择的两张表53;在接收到用户输入的关联操作“左连接”后,得到目标sql。目标sql包括两张表53的关联关系。

    参考图6所示的配置页面显示的所有的数据处理模型,对于该数据处理模型中的任意一个数据处理模型的详细页面参考图7所示。

    步骤104,在目标sql的执行需求为在线执行时,使用presto执行目标sql。

    比如:在需要直接预览或运行目标sql时,使用presto执行目标sql。

    步骤105,在目标sql的执行需求为定时执行时,使用hive执行目标sql。

    比如:在模型发布后使用hive执行目标sql。

    综上所述,本实施例提供的数据处理方法,

    图8是本申请一个实施例提供的数据处理装置的框图。该装置至少包括以下几个模块:页面显示模块810、数据建模模块820、模型建立模块830、第一执行模块840和第二执行模块850。

    页面显示模块810,用于显示可视化的配置页面;

    数据建模模块820,用于通过所述配置页面中的数据导入控件进行数据建模,以将待处理数据导入至hive库;

    模型建立模块830,用于通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql;

    第一执行模块840,用于在所述目标sql的执行需求为在线执行时,使用presto执行所述目标sql;

    第二执行模块850,用于在所述目标sql的执行需求为定时执行时,使用hive执行所述目标sql。

    可选地,所述数据建模模块820,用于:

    通过所述数据导入控件配置数据库连接,以通过直连数据库查询的方式同步表结构到平台元数据中;

    和/或,

    通过所述数据导入控件配置映射关系,从关系库将数据导入到所述hive库;

    和/或,

    通过所述数据导入控件配置映射关系,从非结构化文件导入数据到所述hive库;

    和/或,

    通过所述数据导入控件导入库表资源;在所述库表资源支持配置定时任务时,定时同步数据到所述hive库。

    可选地,所述模型建立模块830,用于:

    在所述配置页面中显示输入流中的字段;接收用户对所述字段的选择操作,得到包括所述选中字段的目标sql。

    可选地,所述模型建立模块830,用于:

    在所述配置页面中接收对输入的两张表执行的关联操作,得到所述目标sql。

    可选地,所述模型建立模块830,用于:

    在所述hive库的默认函数不支持所述数据处理需求时,获取自定义函数包,所述自定义函数包包括支持所述数据处理需求的自定义函数;

    将所述自定义函数包注册至所述hive库,并触发执行所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql的步骤,所述数据处理控制与所述hive库支持的函数相对应。

    相关细节参考上述方法实施例。

    需要说明的是:上述实施例中提供的数据处理装置在进行数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据处理装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

    图9是本申请一个实施例提供的数据处理装置的框图。该装置至少包括处理器901和存储器902。

    处理器901可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器901可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

    存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的数据处理方法。

    在一些实施例中,数据处理装置还可选包括有:外围设备接口和至少一个外围设备。处理器901、存储器902和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。

    当然,数据处理装置还可以包括更少或更多的组件,本实施例对此不作限定。

    可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的数据处理方法。

    可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的数据处理方法。

    以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

    以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。


    技术特征:

    1.一种数据处理方法,其特征在于,所述方法包括:

    显示可视化的配置页面;

    通过所述配置页面中的数据导入控件进行数据建模,以将待处理数据导入至hive库;

    通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql;

    在所述目标sql的执行需求为在线执行时,使用presto执行所述目标sql;

    在所述目标sql的执行需求为定时执行时,使用hive执行所述目标sql。

    2.根据权利要求1所述的方法,其特征在于,所述通过所述配置页面中的数据导入控件进行数据建模,包括:

    通过所述数据导入控件配置数据库连接,以通过直连数据库查询的方式同步表结构到平台元数据中;

    和/或,

    通过所述数据导入控件配置映射关系,从关系库将数据导入到所述hive库;

    和/或,

    通过所述数据导入控件配置映射关系,从非结构化文件导入数据到所述hive库;

    和/或,

    通过所述数据导入控件导入库表资源;在所述库表资源支持配置定时任务时,定时同步数据到所述hive库。

    3.根据权利要求1所述的方法,其特征在于,所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:

    在所述配置页面中显示输入流中的字段;接收用户对所述字段的选择操作,得到包括所述选中字段的目标sql。

    4.根据权利要求1所述的方法,其特征在于,所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:

    在所述配置页面中接收对输入的两张表执行的关联操作,得到所述目标sql。

    5.根据权利要求1所述的方法,其特征在于,所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql,包括:

    在所述hive库的默认函数不支持所述数据处理需求时,获取自定义函数包,所述自定义函数包包括支持所述数据处理需求的自定义函数;

    将所述自定义函数包注册至所述hive库,并触发执行所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql的步骤,所述数据处理控制与所述hive库支持的函数相对应。

    6.一种数据处理装置,其特征在于,所述装置包括:

    页面显示模块,用于显示可视化的配置页面;

    数据建模模块,用于通过所述配置页面中的数据导入控件进行数据建模,以将待处理数据导入至hive库;

    模型建立模块,用于通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql;

    第一执行模块,用于在所述目标sql的执行需求为在线执行时,使用presto执行所述目标sql;

    第二执行模块,用于在所述目标sql的执行需求为定时执行时,使用hive执行所述目标sql。

    7.根据权利要求6所述的装置,其特征在于,所述数据建模模块,用于:

    通过所述数据导入控件配置数据库连接,以通过直连数据库查询的方式同步表结构到平台元数据中;

    和/或,

    通过所述数据导入控件配置映射关系,从关系库将数据导入到所述hive库;

    和/或,

    通过所述数据导入控件配置映射关系,从非结构化文件导入数据到所述hive库;

    和/或,

    通过所述数据导入控件导入库表资源;在所述库表资源支持配置定时任务时,定时同步数据到所述hive库。

    8.根据权利要求6所述的装置,其特征在于,所述模型建立模块,用于:

    在所述配置页面中显示输入流中的字段;接收用户对所述字段的选择操作,得到包括所述选中字段的目标sql。

    9.根据权利要求6所述的装置,其特征在于,所述模型建立模块,用于:

    在所述配置页面中接收对输入的两张表执行的关联操作,得到所述目标sql。

    10.根据权利要求6所述的装置,其特征在于,所述模型建立模块,用于:

    在所述hive库的默认函数不支持所述数据处理需求时,获取自定义函数包,所述自定义函数包包括支持所述数据处理需求的自定义函数;

    将所述自定义函数包注册至所述hive库,并触发执行所述通过所述配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标sql的步骤,所述数据处理控制与所述hive库支持的函数相对应。

    技术总结
    本申请涉及一种数据处理方法及装置,属于计算机技术领域,该方法包括:显示可视化的配置页面;通过配置页面中的数据导入控件进行数据建模,以将待处理数据导入至hive库;通过配置页面中的数据处理控件按照数据处理需求配置数据处理模型,得到目标SQL;在目标SQL的执行需求为在线执行时,使用presto执行目标SQL;在目标SQL的执行需求为定时执行时,使用hive执行目标SQL;可以解决hive执行SQL的数据处理方式单一,可能存在无法满足用户的数据处理需求的问题;可以实现hive SQL与presto SQL的自动切换;以满足用户的数据处理需求。

    技术研发人员:季振宇;顾晨波;赵文杰
    受保护的技术使用者:国泰新点软件股份有限公司
    技术研发日:2020.12.04
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22028.html

    最新回复(0)