CN111651531B - 数据导入方法、装置、设备及计算机存储介质 - Google Patents
数据导入方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN111651531B CN111651531B CN202010506259.9A CN202010506259A CN111651531B CN 111651531 B CN111651531 B CN 111651531B CN 202010506259 A CN202010506259 A CN 202010506259A CN 111651531 B CN111651531 B CN 111651531B
- Authority
- CN
- China
- Prior art keywords
- target
- data
- field
- metadata
- sas
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000008676 import Effects 0.000 claims abstract description 28
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- 208000024780 Urticaria Diseases 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及金融科技(Fintech)技术领域,并公开了一种数据导入方法,该方法包括:获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址;根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表。本发明还公开了一种数据导入装置、设备和一种计算机存储介质。本发明提高了数据导入的智能性和效率。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及数据导入方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、云计算、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对数据导入技术提出了更高的要求。目前SAS(应用软件)数据导入只提供指定数据格式的导入功能。并且在进行SAS数据导入时,即从HIVE(数据仓库)将数据导入SAS时,需要用户手工生成dat文件,编写SAS导入程序表中,导致数据导入的效率、智能性较低。因此,如何提高数据导入的智能性、效率成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提出一种数据导入方法、装置、设备及计算机存储介质,旨在解决如何提高数据导入的智能性和效率的技术问题。
为实现上述目的,本发明提供一种数据导入方法,所述数据导入方法包括如下步骤:
获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;
获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址;
根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表。
可选地,根据各所述数据库文件创建目标表的步骤,包括:
获取所述数据仓库中所述目标元数据对应的原始表,并根据所述原始表确定所述目标推送地址的SAS表;
将各所述数据库文件输入至所述SAS表,以获取目标表。
可选地,将各所述数据库文件输入至所述SAS表,以获取目标表的步骤,包括:
将各所述数据库文件输入至所述SAS表,并获取具有各所述数据库文件的SAS表的SAS表属性信息;
读取所述原始表的原始表属性信息,检测所述原始表属性信息是否和所述SAS表属性信息匹配;
若匹配,则将所述具有各所述数据库文件的SAS表作为目标表。
可选地,检测所述原始表属性信息是否和所述SAS表属性信息匹配的步骤之后,包括:
若所述原始表属性信息和所述SAS表属性信息不匹配,则获取与所述原始表属性信息匹配的历史表,并将所述历史表与所述具有各所述数据库文件的SAS表进行合并,以获取目标表。
可选地,计算所述目标元数据中每个字段的字段长度的步骤,包括:
根据预设的分割符对所述目标元数据进行分割,以获取多个字段;
计算各所述字段在每一行的初始长度,并根据各所述初始长度确定各所述字段的字段长度。
可选地,计算各所述字段在每一行的初始长度,并根据各所述初始长度确定各所述字段的字段长度的步骤,包括:
依次遍历各所述字段,并确定当前遍历的当前字段在每一行的初始长度,获取各所述初始长度中的最大值,并将所述最大值对应的初始长度作为所述当前字段的字段长度,直至各所述字段遍历完成。
可选地,当数据仓库中存在未推送的目标元数据的步骤,包括:
获取所述数据仓库中的所有原始表,并依次检测各所述原始表中的数据是否已被推送;
若在各所述原始表中的数据存在未推送的目标数据,则确定所述数据仓库中存在未推送的目标元数据。
此外,为实现上述目的,本发明还提供一种数据导入装置,所述数据导入装置包括:
计算单元,用于获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;
获取单元,用于获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址;
创建单元,用于根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表。
此外,为实现上述目的,本发明还提供一种数据导入设备,所述数据导入设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据导入程序,所述数据导入程序被所述处理器执行时实现如上所述的数据导入方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有数据导入程序,所述数据导入程序被处理器执行时实现如上所述的数据导入方法的步骤。
本发明通过获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址;根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表。通过计算数据仓库中目标元数据的字段长度,并在将目标元数据从数据仓库发送到目标推送地址后,根据字段长度对目标元数据进行分割处理,得到目标推送地址可识别的数据库文件,从而避免了现有技术中需要用户手动操作才能让推送地址获取到可识别的数据仓库中的数据的现象发生,提高了数据导入的智能性,并在获取到数据库文件后,会根据数据库文件创建目标表,无需用户再次手动创建目标表,从而也提高了数据导入的效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据导入设备结构示意图;
图2为本发明数据导入方法第一实施例的流程示意图;
图3为本发明数据导入装置的装置单元示意图;
图4为本发明数据导入方法中的场景示意图;
图5为本发明数据导入方法中的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的数据导入设备结构示意图。
本发明实施例数据导入设备可以是PC机或服务器设备,其上运行有Java虚拟机。
如图1所示,该数据导入设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的数据导入设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据导入程序。
在图1所示的数据导入设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据导入程序,并执行下述数据导入方法中的操作。
基于上述硬件结构,提出本发明数据导入方法实施例。
参照图2,图2为本发明数据导入方法第一实施例的流程示意图,所述方法包括:
步骤S10,获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;
在本实施例中,SAS(Statistical Analysis System)是一个模块化、集成化的大型商业应用软件系统。Apache Hive是一个建立在Hadoop架构之上的数据仓库。
本发明实施例中,新建HIVE大数据平台对外提供的网关,下文用BDP-GateWay表示该网关,通过该网关抽取HIVE数据,再将数据传输至SAS中,实现了SAS和Hive之间的数据传输。此外,本发明实施例中,还在应用软件系统的内部新建分布式文件系统共享存储中(下文可用ceph表示),以存储SAS通过该网关传输过来的数据。此外,本发明实施例中,内置预设的数据导出工具,并且,新建配置文件数据库,该配置文件数据库存储了各个配置信息,如SAS逻辑库配置,以便数据导出工具的数据导出程序,如sasmanger程序从配置文件数据库中读取库配置信息,再将读取的库配置信息写入到分布式文件系统对应的库表和汇总表中。
本发明实施例中,所述网关和所述数据导出工具可集成在数据导入设备中。
需要说明的是,目前现有的方式中,SAS无法做到直接连接HIVE(数据仓库)数据库表,而目前常规的操作,需要手工下载hive数据成excel文件到本地,再写SAS脚本去将本地的excel文件导入到SAS的库中。这样也无法依照在数据库中配置好的hive和SAS逻辑库对应关系,自动从hive库中抽取数据导入到对应的SAS逻辑库中。因此在本实施例中,可以通过gateway(网关)预先提供的指令bdp2SAS(导出hive数据到SAS的命令)从指定的Hive(数据仓库)库表中导出数据文件到共享存储ceph中,定时程序通过扫描config(配置)文件中数据库配置信息,得到ceph数据需要导入到的SAS逻辑库配置,对存储在ceph目录中的.dat文件按照指定的分割符(指定的字段长度)写入到SAS表中,并且依据表配置的属性定时合并为目标表,如月表和年表。
由于在本实施例中,主要是将hive(数据仓库)中的数据导入至SAS中的。因此需要对hive中的数据进行检测,确定是否存在有未推送的目标元数据,并在确定存在有目标元数据时,则可以计算此目标元数据中每个字段的字段长度。而检测hive中的数据是需要对配置文件数据库中表格的数据进行检测。其中,配置文件数据库可以生成至少三张表,包含hive表所属的业务部门信息表,字段有表名称,表所属的业务部门信息,.dat文件存储在ceph路径,表数据日期,当前日期表数据是否已推送;hive表所有字段长度信息表;表属性,表示是否要生成月表和年表,等。因此可以检测配置文件数据库中所有表格的数据(如当前日期数据)是否已推送到SAS,若已推送,则继续扫描各个表格中的数据。若未推送,则将所述数据推送至SAS,并计算所述数据所在的目标元数据中每个字段的字段长度。
具体的,在本实施例中,网关先将hive到数据下载到本地目录,然后可以通过预设的sql(Structured Query Language,结构化查询语言)命令来计算出推送表每个字段的长度,即目标元数据中每个字段的字段长度,其计算方式可以是依据hive表的分割符来对元数据进行分割,并计算出每个字段在每一行的长度,确定每个字段的最大长度,并将其作为各个字段的字段长度。例如,hive表的元数据(即目标元数据),分割符为“,”:
123,sd
12,sssdsss;
先计算每一行每个字段的长度,如下所示:
c0 _c1
3 2
2 7
再取每个字段长度的最大值得到字段长度,即字段长度,如下所示:
_c0 _c1
3 7
并且,在本实施例中,目标元数据即hive中的元hdfs数据,为dat格式文件。
步骤S20,获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址;
在本实施例中,当确定数据仓库中存在有目标元数据后,可以通过sasmanger程序读取config-db(配置文件数据库)中配置的ceph文件和hive库的对应关系,也就是需要在SAS中获取与数据仓库对应的多个推送地址,即在hive中存在多个hive库,而每个hive库中都存在有各自的元数据,并且在SAS中也存在多个ceph文件,将ceph文件所在的位置作为推送地址。因此在本实施例中,需要先在SAS中获取与hive对应的多个推送地址,并获取用户提前设置的推送地址与hive库中元数据之间的对应关系表,再在此对应关系表中查询目标元数据对应的推送地址,并将其作为目标推送地址。再将目标元数据发送至该目标推送地址。
在本实施例中,为了功能更加细分,在数据导出工具内置有各个模块,模块包括:引进配置模块,分割模块,合并模块。其中,引进配置模块是用于确定目标元数据对应的目标推送地址,以便将目标元数据发送至目标推送地址。分割模块是用于计算目标元数据的字段长度,并根据获取的字段长度对目标元数据进行分割处理,以获取多个数据库文件。合并模块是用于将分割模块生成的多个数据库文件合并为目标表。
引进配置模块会主动在hive中读取对应关系表,如业务部门信息和SAS逻辑库名对应关系,得到SAS逻辑库存储路径,而目标元数据就可以通过该SAS逻辑库存储路径传递至目标推送地址。需要说明的是,在本实施例中,hive库名与存储路径是一一对应的,即元数据所在的hive库名与传递到推送地址的存储路径是一一对应的。
步骤S30,根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表;
并在目标推送地址接收到目标元数据后,可以通过预设的分割模块来读取配置文件数据库中记录的各个字段长度,并根据各个字段长度依次对目标推送地址接收的目标元数据进行分割处理,以获取多个数据库文件。即sasmanger程序将ceph上存储有目标元数据的dat文件,按照字段长度对dat文件的每一行进行分割处理,得到SAS数据库可以识别的数据库文件。并且在本实施例中,sasmanger程序会主动读取config-db中表dat数据的下载进程,即目标元数据的下载进程,当发现下载完成标志时,会调用sftp(SSH File TransferProtocol,SSH文件传输协议)命令同步SAS7bat文件到ceph文件系统中。而且sasmanger程序读取config-db数据库中配置的SAS逻辑库配置,转化生成的.SAS7bat文件(即数据库文件)写入对应的表中,并且依据confi-db数据库中配置表类型合并表为目标表,如月表或年表。其中,转化过程可以是分割模块读取配置文件数据库中记录的表字段长度,按照长度分割.dat数据文件写入SAS表得到.SAS7bat数据文件。并在获取到目标表后,可以直接将目标表导入至SAS逻辑库中。
需要说明的是,当根据各个数据库文件创建的目标表为当前日期的SAS日表,格式为yymmdd.SAS7bat,而通过预设的合并模块读取配置文件数据库的表属性信息(即hive中目标元数据所在表格的属性信息)为月表时,则需要合并当前月下所有日表的数据,以生成月表,格式为yymm.SAS7ba。同理,若为年表,则合并所有月的数据生成年表,格式为yy.SAS7bat。
另外,为辅助理解本实施例中进行数据导入的流程,下面进行举例说明。
例如,如图4所示,在hive(数据仓库)中抽取数据仓库数据到bdp-gateway(网关),并通过sasmanager(数据导出工具)到config-db(配置文件数据库)中读取库表配置信息,以确定推送地址,并将bdg-gateway(网关)中的数据推送到SAS(应用软件系统)中推送地址的ceph(分布式文件系统共享存储)上,再将数据写入对应的库表和会在表,以完成数据导入操作。
再例如,如图5所示,在开始进行数据导入时,判断配置文件数据库中是否存在目标元数据,如当前日期数据,若否,则继续扫描配置文件数据库,若是,则根据引进配置模块获取SAS逻辑库存储路径,根据此SAS逻辑库存储路径将hive中的目标元数据发送至SAS,并根据分割模块读取hive中的字段长度,根据字段长度对目标元数据进行分割,并写入SAS表,再根据合并模块获取hive中目标元数据所在表格的属性信息,若属性信息和SAS表相同,则将SAS表作为目标表,直至结束。
在本实施例中,通过获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址;根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表。通过计算数据仓库中目标元数据的字段长度,并在将目标元数据从数据仓库发送到目标推送地址后,根据字段长度对目标元数据进行分割处理,得到目标推送地址可识别的数据库文件,从而避免了现有技术中需要用户手动操作才能让推送地址获取到可识别的数据仓库中的数据的现象发生,提高了数据导入的智能性,并在获取到数据库文件后,会根据数据库文件创建目标表,无需用户再次手动创建目标表,从而也提高了数据导入的效率。
进一步地,基于本发明数据导入方法第一实施例,提出本发明数据导入方法第二实施例。本实施例是本发明第一实施例的步骤S30,根据各所述数据库文件创建目标表的步骤的细化,包括:
步骤a,获取所述数据仓库中所述目标元数据对应的原始表,并根据所述原始表确定所述目标推送地址的SAS表;
在本实施例中,当将数据仓库中的目标元数据传递到SAS中后,还需要获取数据仓库中目标元数据在未传递之前所在的表格,即原始表。并根据数据库中提前设置的对应关系和此原始表获取目标推送地址的SAS表。
步骤b,将各所述数据库文件输入至所述SAS表,以获取目标表。
再将获取到的各个数据库文件依次输入到SAS表,并在具有各个数据库文件的SAS表和数据仓库中的原始表的属性一致时,则可以将其作为目标表,并将此目标表写入到SAS对应的逻辑库中。其中,目标表的行和列的属性可以和原始表保持一致。
在本实施例中,通过获取数据仓库中的原始表,并根据原始表确定SAS表,再将各个数据库文件输入到SAS表,得到目标表,从而保障了获取到的目标表的准确性。
具体地,将各所述数据库文件输入至所述SAS表,以获取目标表的步骤,包括:
步骤c,将各所述数据库文件输入至所述SAS表,并获取具有各所述数据库文件的SAS表的SAS表属性信息;
将各个数据库文件依次输入到SAS表后,可以直接获取该具有各个数据库文件的SAS表的属性信息,即SAS表属性信息,如表所属的业务部门信息,日期等。
步骤d,读取所述原始表的原始表属性信息,检测所述原始表属性信息是否和所述SAS表属性信息匹配;
在本实施例中,还需要读取目标元数据所在原始表的属性信息,即原始表属性信息,包括原始表所属的业务部门信息、字段长度、日期等。然后再检测原始表属性信息是否和SAS表属性信息匹配,并根据不同的检测结果执行不同的操作。
步骤e,若匹配,则将所述具有各所述数据库文件的SAS表作为目标表。
当经过判断发现原始表属性信息和SAS表属性信息匹配,则可以直接将具有各个数据库文件的SAS表作为目标表。例如,若原始表是日表,具有各个数据库文件的SAS表也是日表,则可以直接确定原始表属性信息和SAS表属性信息匹配。
在本实施例中,通过将各个数据库文件输入到SAS表后,获取该表的SAS表属性信息,并在SAS表属性信息和原始表的原始表属性信息匹配时,将其作为目标表,从而保障了获取到的目标表的准确性。
进一步地,检测所述原始表属性信息是否和所述SAS表属性信息匹配的步骤之后,包括:
步骤f,若所述原始表属性信息和所述SAS表属性信息不匹配,则获取与所述原始表属性信息匹配的历史表,并将所述历史表与所述具有各所述数据库文件的SAS表进行合并,以获取目标表。
当经过判断发现原始表属性信息和SAS表属性信息不匹配,例如,原始表是日表,具有各个数据库文件的SAS表是月表,则需要获取与原始表属性信息匹配历史表,即原始表中除了当前时刻已发送至SAS的目标元数据,剩下的其它数据,并将其它数据汇总成表格,即历史表,并将历史表与具有各个数据库文件的SAS表进行合并,以获取目标表。
在本实施例中,通过在原始表属性信息和SAS表属性信息不匹配时,获取与原始表属性信息匹配的历史表,并将历史表和具有各个数据库文件的SAS表进行合并,得到目标表,从而保障了获取到的目标表的准确性。
进一步地,计算所述目标元数据中每个字段的字段长度的步骤,包括:
步骤g,根据预设的分割符对所述目标元数据进行分割,以获取多个字段;
在本实施例中,当确定存在有未推送的目标元数据时,则可以根据用户提前设置的分割符对目标元数据进行分割,以得到多个字段。例如,假设分割符为“/”,目标元数据为:
123sd
12sssdsss;
则通过分割符对目标元数据进行分割后,形成的字段为:
123/sd
12/sssdsss。
步骤h,计算各所述字段在每一行的初始长度,并根据各所述初始长度确定各所述字段的字段长度。
当获取到各个字段后,可以直接计算各个字段的字段长度,如直接读取每一行各个字段的初始长度,并确定各个字段所在列初始长度的最大值,并将其作为字段的字段长度。
在本实施例中,通过根据预设的分割符对目标元数据进行分割,得到多个字段,并根据各个字段的初始长度确定各个字段的字段长度,从而保障了获取到的字段长度的准确性。
具体地,计算各所述字段在每一行的初始长度,并根据各所述初始长度确定各所述字段的字段长度的步骤,包括:
步骤k,依次遍历各所述字段,并确定当前遍历的当前字段在每一行的初始长度,获取各所述初始长度中的最大值,并将所述最大值对应的初始长度作为所述当前字段的字段长度,直至各所述字段遍历完成。
当获取到各个字段后,可以依次遍历各个字段,并需要确定当前遍历的当前字段在每一行的长度,即初始长度,也就是获取当前字段的所有初始长度,并依次对各个初始长度的值进行比较,从中选择最大值,并将最大值对应的初始长度作为当前字段对应的字段长度,直至各个字段遍历完成,即对其它字段也采用相同的方式来计算其它字段对应的字段长度,直至获取到各个字段的字段长度。
在本实施例中,通过依次遍历各个字段,并获取当前字段的所有初始长度,将最大值对应的初始长度作为当前字段的字段长度,直至各个字段遍历完成,从而保障了获取到的字段长度的准确性。
进一步地,当数据仓库中存在未推送的目标元数据的步骤,包括:
步骤m,获取所述数据仓库中的所有原始表,并依次检测各所述原始表中的数据是否已被推送;
在本实施例中,由于数据仓库中的各个元数据都存储在表格中的,因此需要获取数据仓库中的所有表格,即原始表,并依次检测各个原始表中的数据是否已被推送到SAS,再基于不同的检测结果执行不同的操作。
步骤n,若在各所述原始表中的数据存在未推送的目标数据,则确定所述数据仓库中存在未推送的目标元数据。
当经过判断发现在各个原始表的数据中,存在有未推送的目标数据,则可以直接将此目标数据作为数据仓库中未推送的目标元数据。但是若不存在目标数据,则继续检测各个原始表。
在本实施例中,通过获取数据仓库中的所有原始表,并在各个原始表中的数据存在未推送的目标数据时,确定数据仓库中存在未推送的目标元数据,从而为后续进行数据导入提供了基础。
本发明还提供一种数据导入装置,参照图3,所述数据导入装置包括:
计算单元A10,用于获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;
获取单元A20,用于获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址;
创建单元A30,用于根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表。
可选地,所述创建单元A30,还用于:
获取所述数据仓库中所述目标元数据对应的原始表,并根据所述原始表确定所述目标推送地址的SAS表;
将各所述数据库文件输入至所述SAS表,以获取目标表。
可选地,所述创建单元A30,还用于:
将各所述数据库文件输入至所述SAS表,并获取具有各所述数据库文件的SAS表的SAS表属性信息;
读取所述原始表的原始表属性信息,检测所述原始表属性信息是否和所述SAS表属性信息匹配;
若匹配,则将所述具有各所述数据库文件的SAS表作为目标表。
可选地,所述创建单元A30,还用于:
若所述原始表属性信息和所述SAS表属性信息不匹配,则获取与所述原始表属性信息匹配的历史表,并将所述历史表与所述具有各所述数据库文件的SAS表进行合并,以获取目标表。
可选地,所述计算单元A10,还用于:
根据预设的分割符对所述目标元数据进行分割,以获取多个字段;
计算各所述字段在每一行的初始长度,并根据各所述初始长度确定各所述字段的字段长度。
可选地,所述计算单元A10,还用于:
依次遍历各所述字段,并确定当前遍历的当前字段在每一行的初始长度,获取各所述初始长度中的最大值,并将所述最大值对应的初始长度作为所述当前字段的字段长度,直至各所述字段遍历完成。
可选地,所述计算单元A10,还用于:
获取所述数据仓库中的所有原始表,并依次检测各所述原始表中的数据是否已被推送;
若在各所述原始表中的数据存在未推送的目标数据,则确定所述数据仓库中存在未推送的目标元数据。
上述各程序单元所执行的方法可参照本发明数据导入方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有数据导入程序,所述数据导入程序被处理器执行时实现如上所述的数据导入方法的步骤。
其中,在所述处理器上运行的数据导入程序被执行时所实现的方法可参照本发明数据导入方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据导入方法,其特征在于,所述数据导入方法包括如下步骤:
获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;
获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址,具体为:在SAS中获取与hive对应的多个推送地址,并获取用户提前设置的推送地址与hive中元数据之间的对应关系表,在该对应关系表中查询所述目标元数据对应的推送地址,并将其作为所述目标推送地址;
根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表;
其中,所述根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,包括:
通过预设的分割模块来读取配置文件数据库中记录的各个字段长度,并根据各个字段长度依次对所述目标推送地址接收的所述目标元数据进行分割处理,以获取所述多个数据库文件,具体为:通过sasmanger程序将ceph上存储有所述目标元数据的dat文件,按照所述字段长度对所述dat文件的每一行进行分割处理,得到SAS中的数据库被识别的所述数据库文件;
其中,所述根据各所述数据库文件创建目标表,包括:
通过所述sasmanger程序主动读取config-db中表dat数据的下载进程,得到所述目标元数据的下载进程;当发现下载完成标志时,调用sftp命令同步SAS7bat文件到ceph文件系统中;通过所述sasmanger程序读取config-db中配置的SAS中的逻辑库,将所述SAS7bat文件写入对应的表中,依据所述config-db中配置表类型进行合并操作,得到所述目标表。
2.如权利要求1所述的数据导入方法,其特征在于,所述根据各所述数据库文件创建目标表的步骤,包括:
获取所述数据仓库中所述目标元数据对应的原始表,并根据所述原始表确定所述目标推送地址的SAS表;所述SAS表为所述对应关系表;
将各所述数据库文件输入至所述SAS表,以获取目标表。
3.如权利要求2所述的数据导入方法,其特征在于,所述将各所述数据库文件输入至所述SAS表,以获取目标表的步骤,包括:
将各所述数据库文件输入至所述SAS表,并获取具有各所述数据库文件的对应关系表的属性信息;
读取所述原始表的属性信息,检测所述原始表的属性信息是否和所述对应关系表的属性信息匹配;
若匹配,则将具有各所述数据库文件的对应关系表作为目标表。
4.如权利要求3所述的数据导入方法,其特征在于,所述检测所述原始表的属性信息是否和所述对应关系表的属性信息匹配的步骤之后,包括:
若所述原始表的属性信息和所述对应关系表的属性信息不匹配,则获取与所述原始表的属性信息匹配的历史表,并将所述历史表与具有各所述数据库文件的SAS表进行合并,以获取目标表。
5.如权利要求1所述的数据导入方法,其特征在于,所述计算所述目标元数据中每个字段的字段长度的步骤,包括:
根据预设的分割符对所述目标元数据进行分割,以获取多个字段;
计算各所述字段在每一行的初始长度,并根据各所述初始长度确定各所述字段的字段长度。
6.如权利要求5所述的数据导入方法,其特征在于,所述计算各所述字段在每一行的初始长度,并根据各所述初始长度确定各所述字段的字段长度的步骤,包括:
依次遍历各所述字段,并确定当前遍历的当前字段在每一行的初始长度,获取各所述初始长度中的最大值,并将所述最大值对应的初始长度作为所述当前字段的字段长度,直至各所述字段遍历完成。
7.如权利要求1-6任一项所述的数据导入方法,其特征在于,当数据仓库中存在未推送的目标元数据的步骤,包括:
获取所述数据仓库中的所有原始表,并依次检测各所述原始表中的数据是否已被推送;
若在各所述原始表中的数据存在未推送的目标数据,则确定所述数据仓库中存在未推送的目标元数据。
8.一种数据导入装置,其特征在于,所述数据导入装置包括:
计算单元,用于获取数据仓库中未推送的目标元数据,计算所述目标元数据中每个字段的字段长度;
获取单元,用于获取所述数据仓库对应的多个推送地址,并根据预设的推送地址与元数据之间的对应关系表确定所述目标元数据对应的目标推送地址,将所述目标元数据发送至所述目标推送地址,具体为:在SAS中获取与hive对应的多个推送地址,并获取用户提前设置的推送地址与hive中元数据之间的对应关系表,在该对应关系表中查询所述目标元数据对应的推送地址,并将其作为所述目标推送地址;
创建单元,用于根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,根据各所述数据库文件创建目标表;
其中,所述根据各所述字段长度对所述目标推送地址接收的所述目标元数据进行分割处理,以获取多个数据库文件,包括:
通过预设的分割模块来读取配置文件数据库中记录的各个字段长度,并根据各个字段长度依次对所述目标推送地址接收的所述目标元数据进行分割处理,以获取所述多个数据库文件,具体为:通过sasmanger程序将ceph上存储有所述目标元数据的dat文件,按照所述字段长度对所述dat文件的每一行进行分割处理,得到SAS中的数据库被识别的所述数据库文件;
其中,所述根据各所述数据库文件创建目标表,包括:
通过所述sasmanger程序主动读取config-db中表dat数据的下载进程,得到所述目标元数据的下载进程;当发现下载完成标志时,调用sftp命令同步SAS7bat文件到ceph文件系统中;通过所述sasmanger程序读取config-db中配置的SAS中的逻辑库,将所述SAS7bat文件写入对应的表中,依据所述config-db中配置表类型进行合并操作,得到所述目标表。
9.一种数据导入设备,其特征在于,所述数据导入设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据导入程序,所述数据导入程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据导入方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有数据导入程序,所述数据导入程序被处理器执行时实现如权利要求1至7中任一项所述的数据导入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010506259.9A CN111651531B (zh) | 2020-06-05 | 2020-06-05 | 数据导入方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010506259.9A CN111651531B (zh) | 2020-06-05 | 2020-06-05 | 数据导入方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651531A CN111651531A (zh) | 2020-09-11 |
CN111651531B true CN111651531B (zh) | 2024-04-09 |
Family
ID=72347092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010506259.9A Active CN111651531B (zh) | 2020-06-05 | 2020-06-05 | 数据导入方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651531B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328633A (zh) * | 2020-10-16 | 2021-02-05 | 安徽精益测绘有限公司 | 一种数据库建设用测量数据属性智能化匹配与识别模块 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160253340A1 (en) * | 2015-02-27 | 2016-09-01 | Podium Data, Inc. | Data management platform using metadata repository |
CN107515878A (zh) * | 2016-06-16 | 2017-12-26 | 苏宁云商集团股份有限公司 | 一种数据索引的管理方法及装置 |
CN109656963A (zh) * | 2018-12-18 | 2019-04-19 | 深圳前海微众银行股份有限公司 | 元数据获取方法、装置、设备及计算机可读存储介质 |
CN110019539A (zh) * | 2017-07-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种数据仓库的数据同步的方法和装置 |
-
2020
- 2020-06-05 CN CN202010506259.9A patent/CN111651531B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160253340A1 (en) * | 2015-02-27 | 2016-09-01 | Podium Data, Inc. | Data management platform using metadata repository |
CN107515878A (zh) * | 2016-06-16 | 2017-12-26 | 苏宁云商集团股份有限公司 | 一种数据索引的管理方法及装置 |
CN110019539A (zh) * | 2017-07-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 一种数据仓库的数据同步的方法和装置 |
CN109656963A (zh) * | 2018-12-18 | 2019-04-19 | 深圳前海微众银行股份有限公司 | 元数据获取方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111651531A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
US8997041B2 (en) | Method of managing script, server performing the same and storage media storing the same | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN109284273B (zh) | 一种采用后缀数组索引的海量小文件查询方法及系统 | |
CN109739828B (zh) | 一种数据处理方法、设备及计算机可读存储介质 | |
WO2019161645A1 (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN112328592A (zh) | 数据存储方法、电子设备及计算机可读存储介质 | |
CN115905630A (zh) | 一种图数据库查询方法、装置、设备及存储介质 | |
CN111651531B (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN111680030A (zh) | 数据融合方法及装置,基于元信息的数据处理方法和装置 | |
CN116719822B (zh) | 一种海量结构化数据的存储方法及系统 | |
CN111176901B (zh) | 一种hdfs删除文件恢复方法、终端设备及存储介质 | |
CN105069175A (zh) | 一种基于版本控制系统的信息检索方法及服务器 | |
CN110704635B (zh) | 一种知识图谱中三元组数据的转换方法及装置 | |
CN110795915A (zh) | xml文件批量修改方法、系统、设备和计算机可读存储介质 | |
KR101828466B1 (ko) | 파일시스템을 기반으로 하는 저장장치에서 객체기반 스토리지 인터페이스를 제공하는 방법 및 장치 | |
CN114968725A (zh) | 任务依赖关系校正方法、装置、计算机设备及存储介质 | |
US10242025B2 (en) | Efficient differential techniques for metafiles | |
CN103761290A (zh) | 基于内容感知的数据管理方法和系统 | |
CN110727677B (zh) | 数据仓库内表格的血缘关系追溯的方法和装置 | |
JP2018109898A (ja) | データマイグレーションシステム | |
CN112632211A (zh) | 用于移动机器人的语义信息处理方法与设备 | |
CN113436699A (zh) | 新冠核酸检测报告生成方法、系统、电子设备和存储介质 | |
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |