CN109828964A - 一种数据导入方法、装置及电子设备 - Google Patents

一种数据导入方法、装置及电子设备 Download PDF

Info

Publication number
CN109828964A
CN109828964A CN201910121995.XA CN201910121995A CN109828964A CN 109828964 A CN109828964 A CN 109828964A CN 201910121995 A CN201910121995 A CN 201910121995A CN 109828964 A CN109828964 A CN 109828964A
Authority
CN
China
Prior art keywords
data
cluster
csv file
file
druid
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.)
Granted
Application number
CN201910121995.XA
Other languages
English (en)
Other versions
CN109828964B (zh
Inventor
赵艳杰
康林
段效晨
易帆
秦占明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910121995.XA priority Critical patent/CN109828964B/zh
Publication of CN109828964A publication Critical patent/CN109828964A/zh
Application granted granted Critical
Publication of CN109828964B publication Critical patent/CN109828964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据导入方法、装置及电子设备,应用于多媒体技术领域,所述方法包括:通过执行Hive Client命令,将Hadoop集群中各数据源中的数据分别写入Hadoop分布式文件系统HDFS的各逗号分隔值CSV文件中。通过distcp的方式将HDFS从Hadoop集群同步至Druid集群,针对每个CSV文件,根据该CSV文件的属性信息,生成JSON配置文件,根据JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将该CSV文件中的已写入数据导入Druid集群。本发明可提高数据导入的效率。

Description

一种数据导入方法、装置及电子设备
技术领域
本发明涉及多媒体技术领域,特别是涉及一种数据导入方法、装置及电子设备。
背景技术
在多媒体技术中,可以通过Druid分析时序数据,对OLAP(Online AnalyticalProcessing,联机分析处理)提供支持。Druid是一个分布式的支持实时分析的数据存储系统,在处理数据的规模、数据处理的实时性方面,比传统的OLAP系统有了显著的性能改进,而且拥抱主流的开源生态,包括Hadoop等。Druid的数据吞吐量大,每天可以处理几十亿到几百亿的事件,支持流式数据和批量数据两种摄入方式,并且支持在任何维度上进行查询,访问速度较快。其中,Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。
对于离线数据,首先需要批量导入Druid中,才能够提供真正的查询服务,处理用户的查询请求。目前,线上数据存储在Hadoop集群中,而Hadoop集群和Druid集群分属于不同的公共集群,因此需要进行跨集群的数据操作。同时,Druid离线数据的导入目前仅支持CSV(Comma-Separated Values,逗号分隔值)、TSV(Tab-separated values,制表符分隔值)和JSON(JavaScript Object Notation,JavaScript对象简谱)这三种格式,所有需要导入Druid的数据都需要预先转换成Druid支持的格式。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:现在操作步骤繁琐,而且各步骤之间的依赖性较高,需要人为干预,因此,数据导入的效率比较低。
发明内容
本发明实施例的目的在于提供一种数据导入方法、装置及电子设备,以提高数据导入的效率。具体技术方案如下:
本发明实施例提供了一种数据导入方法,所述方法包括:
通过执行Hive Client命令,将Hadoop集群中各数据源中的数据分别写入Hadoop分布式文件系统HDFS的各逗号分隔值CSV文件中;
在确定所述各CSV文件写入完成之后,通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群;
针对每个CSV文件,根据该CSV文件的属性信息,生成JavaScript对象简谱JSON配置文件,根据所述JSON配置文件,通过CURL命令发起构建索引任务的请求,使所述Druid集群将该CSV文件中的已写入数据导入所述Druid集群。
可选的,所述将Hadoop集群中各数据源中的数据分别写入Hadoop分布式文件系统HDFS的各逗号分隔值CSV文件中,包括:
针对所述Hadoop集群中的每个数据源,基于oozie workflow定时任务按预设写入周期,将该数据源中更新的数据写入CSV文件中。
可选的,所述属性信息包括:CSV文件名称、已写入数据的时间段、已写入数据的维度和已写入数据的度量,所述CSV文件名称包含所述CSV文件的生成日期。
可选的,在所述根据所述JSON配置文件,通过CURL命令发起构建索引任务的请求之后,所述方法还包括:
针对每个CSV文件,在检测到该CSV文件更新时,根据更新的CSV文件的生成日期和更新的已写入数据的时间段,对该CSV文件对应的JSON配置文件进行更新,得到更新的JSON配置文件;
根据所述更新的JSON配置文件,通过CURL命令发起构建索引任务的请求,使所述Druid集群将所述更新的CSV文件中更新的已写入数据导入所述Druid集群。
可选的,所述通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群,包括:
实时解析所述Druid集群中活跃节点的地址,通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群的活跃节点中。
本发明实施例提供了一种数据导入装置,所述装置包括:
数据写入模块,用于通过执行Hive Client命令,将Hadoop集群中各数据源中的数据分别写入Hadoop分布式文件系统HDFS的各逗号分隔值CSV文件中;
数据传输模块,用于在确定所述各CSV文件写入完成之后,通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群;
数据导入模块,用于针对每个CSV文件,根据该CSV文件的属性信息,生成JavaScript对象简谱JSON配置文件,根据所述JSON配置文件,通过CURL命令发起构建索引任务的请求,使所述Druid集群将该CSV文件中的已写入数据导入所述Druid集群。
可选的,所述数据写入模块具体用于,针对所述Hadoop集群中的每个数据源,基于oozie workflow定时任务按预设写入周期,将该数据源中更新的数据写入CSV文件中。
可选的,所述属性信息包括:CSV文件名称、已写入数据的时间段、已写入数据的维度和已写入数据的度量,所述CSV文件名称包含所述CSV文件的生成日期。
可选的,本发明实施例的数据导入装置,还包括:
配置文件更新模块,用于针对每个CSV文件,在检测到该CSV文件更新时,根据更新的CSV文件的生成日期和更新的已写入数据的时间段,对该CSV文件对应的JSON配置文件进行更新,得到更新的JSON配置文件;
更新数据导入模块,用于根据所述更新的JSON配置文件,通过CURL命令发起构建索引任务的请求,使所述Druid集群将所述更新的CSV文件中更新的已写入数据导入所述Druid集群。
可选的,所述数据传输模块具体用于,实时解析所述Druid集群中活跃节点的地址,通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群的活跃节点中。
本发明实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述任一所述的数据导入方法的步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据导入方法的步骤。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据导入方法的步骤。
本发明实施例提供的数据导入方法、装置及电子设备,解决了多数据源的问题,可以基于不同的数据源配置不同的JSON配置文件。并且可以根据CSV文件的属性信息自动生成JSON配置文件,而不需要用户手动配置JSON配置文件。可见,本发明实施例可以自动化地将离线数据导入Druid,降低人力成本,缩短数据导入的时间成本,提高数据导入的效率。另外,在跨集群数据传输过程中,通过distcp的方式可以自动识别Druid集群的活跃节点,避免了Druid集群主备节点切换的问题,具有高度的灵活性。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例的数据导入方法的一种流程图;
图2为本发明实施例的数据导入方法的另一种流程图;
图3为本发明实施例的数据导入装置的一种结构图;
图4为本发明实施例的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了解决数据导入效率低的问题,本发明实施例提供了一种数据导入方法、装置及电子设备,以提高数据导入的效率。
下面首先对本发明实施例所提供的数据导入方法进行详细介绍。
参见图1,图1为本发明实施例的数据导入方法的一种流程图,包括以下步骤:
S101,通过执行Hive Client命令,将Hadoop集群中的各数据源中的数据分别写入HDFS的各CSV文件中。
具体的,Hadoop集群中可以包括多个数据源,本发明实施例可以对多个数据源进行并行处理,并且对各数据源的处理过程是相同的。各数据源中的数据是预先同步的离线数据(例如离线视频数据),并且以Hive表的形式存储。由于Druid离线数据的导入目前仅支持CSV、TSV和JSON这三种格式,因此可以通过执行Hive Client命令将各数据源中的数据分别写入HDFS的各CSV文件中,之后将CSV文件导入Druid集群,Hive Client命令可以为:hive–e“hive sql”>>csv file path。其中,HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)可以存储数据(例如CSV文件),具有高容错性,可以部署在低廉的硬件上,而且它提供高吞吐量来访问应用程序的数据,适合具有超大数据集的应用程序。
S102,在确定各CSV文件写入完成之后,通过distcp的方式将HDFS从Hadoop集群同步至Druid集群。
本发明实施例中,各CSV文件写入完成之后可以生成一个done文件,通过检查done文件的方式,确定各CSV文件已经成功生成。在确定各CSV文件写入完成之后,可以通过distcp的方式将HDFS从Hadoop集群同步至Druid集群。本发明的一种实现方式中,可以实时解析Druid集群中活跃节点的地址,通过distcp的方式将HDFS从Hadoop集群同步至Druid集群的活跃节点中。具体的,通过oozie workflow的方式,在执行distcp命令时,只需要指定集群的名称,工作流内部通过解析当前活跃节点,而不需要在distcp命令中硬性指定Druid集群的主节点,具有高度的灵活性。
S103,针对每个CSV文件,根据该CSV文件的属性信息,生成JSON配置文件,根据JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将该CSV文件中的已写入数据导入Druid集群。
具体的,由于不同的数据源中的数据是不同的,因此,生成的CSV文件也是不同的。也就是说,不同的CSV文件包含不同的属性信息,属性信息包括:CSV文件名称、已写入数据的时间段、已写入数据的维度和已写入数据的度量等。另外,CSV文件名称还可以包含CSV文件的生成日期。这样,可以根据CSV文件的名称确定CSV文件中已写入数据的时间。例如,CSV文件的名称中的日期为某个日期,那么,该CSV文件中的已写入数据可以为该日期之前的数据。
根据不同的CSV文件的属性信息,可以生成对应的JSON配置文件。例如,JSON配置文件中可以包含:CSV文件名称和已写入数据的时间段等信息。根据JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将该CSV文件中的已写入数据导入Druid集群。其中,CURL命令可以为:curl-X'POST'-H'Content-Type:application/json'-d@video_summary_hadoop_index.json http://Druid集群Overlord地址/druid/indexer/v1/task。
图1所示实施例的有益效果在于,解决了多数据源的问题,可以基于不同的数据源配置不同的JSON配置文件。并且可以根据CSV文件的属性信息自动生成JSON配置文件,而不需要用户手动配置JSON配置文件。可见,本发明实施例可以自动化地将离线数据导入Druid,降低人力成本,缩短数据导入的时间成本,提高数据导入的效率。另外,在跨集群数据传输过程中,通过distcp的方式可以自动识别Druid集群的活跃节点,避免了Druid集群主备节点切换的问题,具有高度的灵活性。
可选的,图1实施例S101中,将Hadoop集群中各数据源中的数据分别写入HDFS的各CSV文件中,包括:
针对Hadoop集群中的每个数据源,基于oozie workflow定时任务按预设写入周期,将该数据源中更新的数据写入CSV文件中。
本发明实施例中,预设写入周期可以是每12小时、每天或者每两天等,若预设写入周期是每天,可以基于oozie workflow定时任务每天按固定时刻将数据源中更新的数据写入CSV文件即可。各数据源中的数据可以是按照时间段分隔开的数据,可以在每天的中午12点,将数据源中从昨天中午12点到今天中午12点的数据写入CSV文件中。这样,基于增量数据的写入,可以提高数据写入的效率。
参见图2,图2为本发明实施例的数据导入方法的另一种流程图,在图1实施例的基础上,还包括以下步骤:
S201,针对每个CSV文件,在检测到该CSV文件更新时,根据更新的CSV文件的生成日期和更新的已写入数据的时间段,对该CSV文件对应的JSON配置文件进行更新,得到更新的JSON配置文件。
本发明实施例中,各数据源中的数据随着时间的更新逐渐增加,相应地,CSV文件中写入的数据也是增加的。由于CSV文件名称包含CSV文件的生成日期,那么,若CSV文件名称更新,表明CSV文件更新。同样地,在数据导入Druid集群的过程中,进行增量导入即可。也就是,仅处理未导入Druid集群的数据。针对同一数据源,生成的CSV文件中已写入数据的维度和已写入数据的度量等是一致的,仅是CSV文件名称和已写入数据的时间段不同,而JSON配置文件包含:CSV文件名称和已写入数据的时间段等信息,那么,可以根据更新的CSV文件的生成日期和更新的已写入数据的时间段对JSON配置文件进行更新。
S202,根据更新的JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将更新的CSV文件中更新的已写入数据导入Druid集群。
本步骤与图1实施例S103中构建索引任务的方法相同,在此不再详述。
可见,本发明实施例可以对离线数据进行增量处理,根据更新的CSV文件动态更新JSON配置文件,而不需要用户去手动配置JSON配置文件,可以降低人力成本,提高数据导入的效率。
相应于上述方法实施例,本发明实施例还提供了一种数据导入装置,参见图3,图3为本发明实施例的数据导入装置的一种结构图,包括:
数据写入模块301,用于通过执行Hive Client命令,将Hadoop集群中各数据源中的数据分别写入Hadoop分布式文件系统HDFS的各逗号分隔值CSV文件中;
数据传输模块302,用于在确定各CSV文件写入完成之后,通过distcp的方式将HDFS从Hadoop集群同步至Druid集群;
数据导入模块303,用于针对每个CSV文件,根据该CSV文件的属性信息,生成JavaScript对象简谱JSON配置文件,根据JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将该CSV文件中的已写入数据导入Druid集群。
本发明实施例的数据导入装置,解决了多数据源的问题,可以基于不同的数据源配置不同的JSON配置文件。并且可以根据CSV文件的属性信息自动生成JSON配置文件,而不需要用户手动配置JSON配置文件。可见,本发明实施例可以自动化地将离线数据导入Druid,降低人力成本,缩短数据导入的时间成本,提高数据导入的效率。另外,在跨集群数据传输过程中,通过distcp的方式可以自动识别Druid集群的活跃节点,避免了Druid集群主备节点切换的问题,具有高度的灵活性。
可选的,数据写入模块具体用于,针对Hadoop集群中的每个数据源,基于oozieworkflow定时任务按预设写入周期,将该数据源中更新的数据写入CSV文件中。
可选的,属性信息包括:CSV文件名称、已写入数据的时间段、已写入数据的维度和已写入数据的度量,CSV文件名称包含CSV文件的生成日期。
可选的,本发明实施例的数据导入装置,还包括:
配置文件更新模块,用于针对每个CSV文件,在检测到该CSV文件更新时,根据更新的CSV文件的生成日期和更新的已写入数据的时间段,对该CSV文件对应的JSON配置文件进行更新,得到更新的JSON配置文件;
更新数据导入模块,用于根据更新的JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将更新的CSV文件中更新的已写入数据导入Druid集群。
可选的,数据传输模块具体用于,实时解析Druid集群中活跃节点的地址,通过distcp的方式将HDFS从Hadoop集群同步至Druid集群的活跃节点中。
本发明实施例还提供了一种电子设备,参见图4,图4为本发明实施例的电子设备的结构图,包括:处理器401、通信接口402、存储器403和通信总线404,其中,处理器401、通信接口402、存储器403通过通信总线404完成相互间的通信;
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现上述实施例中任一数据导入方法的步骤。
本发明实施例的电子设备中,处理器通过执行存储器上所存放的程序,执行HiveClient命令,将Hadoop集群中各数据源中的数据分别写入HDFS的各CSV文件中。通过distcp的方式将HDFS从Hadoop集群同步至Druid集群,针对每个CSV文件,根据该CSV文件的属性信息,生成JSON配置文件,根据JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将该CSV文件中的已写入数据导入Druid集群。可见,本发明实施例解决了多数据源的问题,可以基于不同的数据源配置不同的JSON配置文件。并且可以根据CSV文件的属性信息自动生成JSON配置文件,而不需要用户手动配置JSON配置文件。可见,本发明实施例可以自动化地将离线数据导入Druid,降低人力成本,缩短数据导入的时间成本,提高数据导入的效率。另外,在跨集群数据传输过程中,通过distcp的方式可以自动识别Druid集群的活跃节点,避免了Druid集群主备节点切换的问题,具有高度的灵活性。
需要说明的是,上述电子设备提到的通信总线404可以是PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。通信总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口402用于上述电子设备与其他设备之间的通信。
存储器403可以包括RAM(Random Access Memory,随机存取存储器),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器403还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器401可以是通用处理器,包括:CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital SignalProcessing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一数据导入方法的步骤。
本发明实施例的计算机可读存储介质中存储的指令在计算机上运行时,执行HiveClient命令,将Hadoop集群中各数据源中的数据分别写入HDFS的各CSV文件中。通过distcp的方式将HDFS从Hadoop集群同步至Druid集群,针对每个CSV文件,根据该CSV文件的属性信息,生成JSON配置文件,根据JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将该CSV文件中的已写入数据导入Druid集群。可见,本发明实施例解决了多数据源的问题,可以基于不同的数据源配置不同的JSON配置文件。并且可以根据CSV文件的属性信息自动生成JSON配置文件,而不需要用户手动配置JSON配置文件。可见,本发明实施例可以自动化地将离线数据导入Druid,降低人力成本,缩短数据导入的时间成本,提高数据导入的效率。另外,在跨集群数据传输过程中,通过distcp的方式可以自动识别Druid集群的活跃节点,避免了Druid集群主备节点切换的问题,具有高度的灵活性。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一数据导入方法的步骤。
本发明实施例的计算机程序产品,当其在计算机上运行时,执行Hive Client命令,将Hadoop集群中各数据源中的数据分别写入HDFS的各CSV文件中。通过distcp的方式将HDFS从Hadoop集群同步至Druid集群,针对每个CSV文件,根据该CSV文件的属性信息,生成JSON配置文件,根据JSON配置文件,通过CURL命令发起构建索引任务的请求,使Druid集群将该CSV文件中的已写入数据导入Druid集群。可见,本发明实施例解决了多数据源的问题,可以基于不同的数据源配置不同的JSON配置文件。并且可以根据CSV文件的属性信息自动生成JSON配置文件,而不需要用户手动配置JSON配置文件。可见,本发明实施例可以自动化地将离线数据导入Druid,降低人力成本,缩短数据导入的时间成本,提高数据导入的效率。另外,在跨集群数据传输过程中,通过distcp的方式可以自动识别Druid集群的活跃节点,避免了Druid集群主备节点切换的问题,具有高度的灵活性。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种数据导入方法,其特征在于,所述方法包括:
通过执行Hive Client命令,将Hadoop集群中各数据源中的数据分别写入Hadoop分布式文件系统HDFS的各逗号分隔值CSV文件中;
在确定所述各CSV文件写入完成之后,通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群;
针对每个CSV文件,根据该CSV文件的属性信息,生成JavaScript对象简谱JSON配置文件,根据所述JSON配置文件,通过CURL命令发起构建索引任务的请求,使所述Druid集群将该CSV文件中的已写入数据导入所述Druid集群。
2.根据权利要求1所述的数据导入方法,其特征在于,所述将Hadoop集群中各数据源中的数据分别写入Hadoop分布式文件系统HDFS的各逗号分隔值CSV文件中,包括:
针对所述Hadoop集群中的每个数据源,基于oozie workflow定时任务按预设写入周期,将该数据源中更新的数据写入CSV文件中。
3.根据权利要求1所述的数据导入方法,其特征在于,所述属性信息包括:CSV文件名称、已写入数据的时间段、已写入数据的维度和已写入数据的度量,所述CSV文件名称包含所述CSV文件的生成日期。
4.根据权利要求3所述的数据导入方法,其特征在于,在所述根据所述JSON配置文件,通过CURL命令发起构建索引任务的请求之后,所述方法还包括:
针对每个CSV文件,在检测到该CSV文件更新时,根据更新的CSV文件的生成日期和更新的已写入数据的时间段,对该CSV文件对应的JSON配置文件进行更新,得到更新的JSON配置文件;
根据所述更新的JSON配置文件,通过CURL命令发起构建索引任务的请求,使所述Druid集群将所述更新的CSV文件中更新的已写入数据导入所述Druid集群。
5.根据权利要求1所述的数据导入方法,其特征在于,所述通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群,包括:
实时解析所述Druid集群中活跃节点的地址,通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群的活跃节点中。
6.一种数据导入装置,其特征在于,所述装置包括:
数据写入模块,用于通过执行Hive Client命令,将Hadoop集群中各数据源中的数据分别写入Hadoop分布式文件系统HDFS的各逗号分隔值CSV文件中;
数据传输模块,用于在确定所述各CSV文件写入完成之后,通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群;
数据导入模块,用于针对每个CSV文件,根据该CSV文件的属性信息,生成JavaScript对象简谱JSON配置文件,根据所述JSON配置文件,通过CURL命令发起构建索引任务的请求,使所述Druid集群将该CSV文件中的已写入数据导入所述Druid集群。
7.根据权利要求6所述的数据导入装置,其特征在于,所述数据写入模块具体用于,针对所述Hadoop集群中的每个数据源,基于oozie workflow定时任务按预设写入周期,将该数据源中更新的数据写入CSV文件中。
8.根据权利要求6所述的数据导入装置,其特征在于,所述属性信息包括:CSV文件名称、已写入数据的时间段、已写入数据的维度和已写入数据的度量,所述CSV文件名称包含所述CSV文件的生成日期。
9.根据权利要求6所述的数据导入装置,其特征在于,所述装置还包括:
配置文件更新模块,用于针对每个CSV文件,在检测到该CSV文件更新时,根据更新的CSV文件的生成日期和更新的已写入数据的时间段,对该CSV文件对应的JSON配置文件进行更新,得到更新的JSON配置文件;
更新数据导入模块,用于根据所述更新的JSON配置文件,通过CURL命令发起构建索引任务的请求,使所述Druid集群将所述更新的CSV文件中更新的已写入数据导入所述Druid集群。
10.根据权利要求6所述的数据导入装置,其特征在于,所述数据传输模块具体用于,实时解析所述Druid集群中活跃节点的地址,通过distcp的方式将所述HDFS从Hadoop集群同步至Druid集群的活跃节点中。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1~5任一所述的数据导入方法的步骤。
CN201910121995.XA 2019-02-19 2019-02-19 一种数据导入方法、装置及电子设备 Active CN109828964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910121995.XA CN109828964B (zh) 2019-02-19 2019-02-19 一种数据导入方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910121995.XA CN109828964B (zh) 2019-02-19 2019-02-19 一种数据导入方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN109828964A true CN109828964A (zh) 2019-05-31
CN109828964B CN109828964B (zh) 2021-11-26

Family

ID=66862162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910121995.XA Active CN109828964B (zh) 2019-02-19 2019-02-19 一种数据导入方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN109828964B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111242751A (zh) * 2020-03-11 2020-06-05 上海东普信息科技有限公司 快件订单更新方法、装置、设备及存储介质
CN112084147A (zh) * 2020-09-10 2020-12-15 珠海美佳音科技有限公司 一种数据存储方法、数据采集记录仪及电子设备
CN115544027A (zh) * 2022-12-05 2022-12-30 北京滴普科技有限公司 一种面向olap分析引擎的数据导入方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169792A (zh) * 2007-12-03 2008-04-30 北京金山软件有限公司 数据库读写的系统及方法
CN103237035A (zh) * 2013-04-28 2013-08-07 哈尔滨工业大学 可控分布式代理平台
CN104090896A (zh) * 2013-12-19 2014-10-08 深圳市腾讯计算机系统有限公司 一种导入数据的方法、装置和系统
CN105787064A (zh) * 2016-03-01 2016-07-20 广州铭诚计算机科技有限公司 一种基于大数据的挖掘平台构建方法
CN106919697A (zh) * 2017-03-07 2017-07-04 郑州云海信息技术有限公司 一种将数据同时导入多个Hadoop组件的方法
US20170371901A1 (en) * 2016-05-23 2017-12-28 Shaik Mohammad Assad Chief data office strategy application

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169792A (zh) * 2007-12-03 2008-04-30 北京金山软件有限公司 数据库读写的系统及方法
CN103237035A (zh) * 2013-04-28 2013-08-07 哈尔滨工业大学 可控分布式代理平台
CN104090896A (zh) * 2013-12-19 2014-10-08 深圳市腾讯计算机系统有限公司 一种导入数据的方法、装置和系统
CN105787064A (zh) * 2016-03-01 2016-07-20 广州铭诚计算机科技有限公司 一种基于大数据的挖掘平台构建方法
US20170371901A1 (en) * 2016-05-23 2017-12-28 Shaik Mohammad Assad Chief data office strategy application
CN106919697A (zh) * 2017-03-07 2017-07-04 郑州云海信息技术有限公司 一种将数据同时导入多个Hadoop组件的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JACKWXH: "hive 导出数据到 csv", 《HTTPS://BLOG.51CTO.COM/JACKWXH/2333815》 *
程序园: "druid中 如何从本地批(batch)导入与从hdfs 批导入数据 实战", 《HTTP://WWW.VOIDCN.COM/ARTICLE/P-HKKPOCIH-BRX.HTML》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111242751A (zh) * 2020-03-11 2020-06-05 上海东普信息科技有限公司 快件订单更新方法、装置、设备及存储介质
CN112084147A (zh) * 2020-09-10 2020-12-15 珠海美佳音科技有限公司 一种数据存储方法、数据采集记录仪及电子设备
CN115544027A (zh) * 2022-12-05 2022-12-30 北京滴普科技有限公司 一种面向olap分析引擎的数据导入方法和系统

Also Published As

Publication number Publication date
CN109828964B (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
US10601660B2 (en) Auto discovery of configuration items
CN108804306B (zh) 用于自动测试系统的方法和系统
Huang et al. Research on architecture and query performance based on distributed graph database Neo4j
Abourezq et al. Database-as-a-service for big data: An overview
CN109828964A (zh) 一种数据导入方法、装置及电子设备
CN108121782A (zh) 查询请求的分配方法、数据库中间件系统以及电子设备
US9940406B2 (en) Managing database
Burtica et al. Practical application and evaluation of no-SQL databases in Cloud Computing
US9158768B2 (en) System and methods to configure a query language using an operator dictionary
CN114297173B (zh) 一种面向大规模海量数据的知识图谱构建方法和系统
CN111552701B (zh) 确定分布式集群中数据一致性的方法及分布式数据系统
US10474185B2 (en) Timestamp alignment across a plurality of computing devices
CN111639061A (zh) Redis集群中数据管理方法、装置、介质及电子设备
CN110019062A (zh) 数据同步方法和系统
TW201727517A (zh) 資料儲存與業務處理的方法及裝置
CN110704851A (zh) 公有云数据处理方法和设备
Qi Digital forensics and NoSQL databases
TWI706343B (zh) 樣本回放資料存取方法、裝置及電腦設備
US11636111B1 (en) Extraction of relationship graphs from relational databases
Khashan et al. An adaptive spark-based framework for querying large-scale NoSQL and relational databases
CN115794806A (zh) 金融数据的网格化处理系统及方法、装置、计算设备
CN108595488B (zh) 数据迁移方法和装置
CN110968267A (zh) 数据管理方法、装置、服务器及系统
CN110362582A (zh) 一种实现零停机升级的方法和装置
CN116028504B (zh) 一种数据湖元数据管理方法及装置

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