CN112783923A - 一种基于Spark和Impala高效采集数据库的实现方法 - Google Patents
一种基于Spark和Impala高效采集数据库的实现方法 Download PDFInfo
- Publication number
- CN112783923A CN112783923A CN202110237793.9A CN202110237793A CN112783923A CN 112783923 A CN112783923 A CN 112783923A CN 202110237793 A CN202110237793 A CN 202110237793A CN 112783923 A CN112783923 A CN 112783923A
- Authority
- CN
- China
- Prior art keywords
- impala
- spark
- executing
- message
- statement
- 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.)
- Pending
Links
- 241000282813 Aepyceros melampus Species 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims abstract description 4
- 230000009191 jumping Effects 0.000 claims abstract description 4
- 238000005192 partition Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 6
- 210000001503 joint Anatomy 0.000 abstract description 3
- 230000018109 developmental process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Spark和Impala高效采集数据库的实现方法,涉及数据处理技术领域,其包括以下步骤:S1、根据模板封装采集任务报文;S2、解析采集任务报文;S3、根据报文、创建数据连接;S4、检查目标库是否存在对应的表,如果存在,执行S6后继续向下执行,如果不存在,执行S5后跳到S9继续向下一步执行;S5、根据报文,创建数据连接;S6、根据新增字段,修改目标表;S7、获取缺失字段;S8、通过源与目标表字段类型对比,生成类型转换语句。该基于Spark和Impala高效采集数据库的实现方法,通过采用Spark框架,可减少各类数据源对接的开发工作量,并可配置化数据来源,达到灵活数据源的效果。
Description
技术领域
本发明涉及数据处理技术领域,具体为一种基于Spark和Impala高效采集数据库的实现方法。
背景技术
Spark既Apache Spark,是专为大规模数据处理而设计的快速通用的计算引擎,近期较为流行的大数据框架,Impala既Impala,是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据,它们以最简化的配置,快速高效从各类JDBC数据源读取数据,以parquet格式写入到HDFS中,并在impala中执行刷新和查询优化命令,达到数仓贴远程的处理。
现有技术中存在以下缺点:部分工具如sqoop,每个数据同步任务需要启动进程,单独启动一个yarn程序,资源的消耗和时间占用较大,部分工具如datax,任务配置复杂,非分布式部署。
因此,需要一种基于Spark和Impala高效采集数据库的实现方法来解决上述问题。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于Spark和Impala高效采集数据库的实现方法,实现了统一配置模板,简化配置,根据数据源自动建表,根据数据源自动增加字段,数据根据分片字段做数据切分和数据写入后impala刷新分区和查询优化。
(二)技术方案
为达到以上目的,本发明采取的技术方案是:一种基于Spark和Impala高效采集数据库的实现方法,所述方法基于基于Spark和Impala,其特征在于,包括以下步骤:启动采集任务,
S1、根据模板封装采集任务报文;
S2、解析采集任务报文;
S3、根据报文、创建数据连接;
S4、检查目标库是否存在对应的表,如果存在,执行S6后继续向下执行,如果不存在,执行S5后跳到S9继续向下一步执行;
S5、根据报文,创建数据连接;
S6、根据新增字段,修改目标表;
S7、获取缺失字段;
S8、通过源与目标表字段类型对比,生成类型转换语句;
S9、生成数据加载语句,按照分区字段和分区大小分片执行;
S10、执行impala表刷新语句;
S11、执行impala表查询优化语句,结束。
(三)有益效果
本发明的有益效果在于:
1、该基于Spark和Impala高效采集数据库的实现方法,通过采用Spark框架,可减少各类数据源对接的开发工作量,并可配置化数据来源,达到灵活数据源的效果。
2、该基于Spark和Impala高效采集数据库的实现方法,通过采用Spark框架,可根据分区字段,实现分片执行采集,效果比整体串行更高。
3、该基于Spark和Impala高效采集数据库的实现方法,通过把Spark和Impala串联起来使用,可极大提高查询效率。
附图说明
图1为本发明方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供一种技术方案:一种基于Spark和Impala高效采集数据库的实现方法,所述方法基于基于Spark和Impala,其特征在于,包括以下步骤:
S1、根据模板封装采集任务报文;
S2、解析采集任务报文;
S3、根据报文、创建数据连接;
S4、检查目标库是否存在对应的表,如果存在,执行S6后向下执行,如果不存在,执行S5后跳到S9继续向下一步执行;
S5、根据报文,创建数据连接;
S6、根据新增字段,修改目标表;
S7、获取缺失字段;
S8、通过源与目标表字段类型对比,生成类型转换语句;
S9、生成数据加载语句,按照分区字段和分区大小分片执行;
S10、执行impala表刷新语句;
S11、执行impala表查询优化语句。
该基于Spark和Impala高效采集数据库的实现方法,通过采用Spark框架,可减少各类数据源对接的开发工作量,并可配置化数据来源,达到灵活数据源的效果;
该基于Spark和Impala高效采集数据库的实现方法,通过采用Spark框架,可根据分区字段,实现分片执行采集,效果比整体串行更高;
该基于Spark和Impala高效采集数据库的实现方法,通过把Spark和Impala串联起来使用,可极大提高查询效率。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于Spark和Impala高效采集数据库的实现方法,所述方法基于基于Spark和Impala,其特征在于,包括以下步骤:
S1、根据模板封装采集任务报文;
S2、解析采集任务报文;
S3、根据报文、创建数据连接;
S4、检查目标库是否存在对应的表,如果存在,执行S6后继续向下执行,如果不存在,执行S5后跳到S9继续向下一步执行;
S5、根据报文,创建数据连接;
S6、根据新增字段,修改目标表;
S7、获取缺失字段;
S8、通过源与目标表字段类型对比,生成类型转换语句;
S9、生成数据加载语句,按照分区字段和分区大小分片执行;
S10、执行impala表刷新语句;
S11、执行impala表查询优化语句。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011339763 | 2020-11-25 | ||
CN2020113397630 | 2020-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783923A true CN112783923A (zh) | 2021-05-11 |
Family
ID=75762265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110237793.9A Pending CN112783923A (zh) | 2020-11-25 | 2021-03-04 | 一种基于Spark和Impala高效采集数据库的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783923A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009103208A1 (zh) * | 2008-02-18 | 2009-08-27 | Liu Shugen | 语句构件装置和母语读外文并生成世界文及文本转换方法 |
CN104915341A (zh) * | 2014-03-10 | 2015-09-16 | 中国科学院沈阳自动化研究所 | 可视化多数据库etl集成方法和系统 |
US20150310030A1 (en) * | 2014-04-25 | 2015-10-29 | International Business Machines Corporation | Adaptive fragment assignment for processing file data in a database |
WO2017096941A1 (zh) * | 2015-12-11 | 2017-06-15 | 深圳市华讯方舟软件技术有限公司 | 一种基于Spark-SQL大数据处理平台的后台刷新方法 |
CN109063201A (zh) * | 2018-09-11 | 2018-12-21 | 武汉魅瞳科技有限公司 | 一种基于混合存储方案的impala在线交互式查询方法 |
CN109379401A (zh) * | 2018-09-07 | 2019-02-22 | 南京中新赛克科技有限责任公司 | 基于Kafka的原始流量存储装置 |
-
2021
- 2021-03-04 CN CN202110237793.9A patent/CN112783923A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009103208A1 (zh) * | 2008-02-18 | 2009-08-27 | Liu Shugen | 语句构件装置和母语读外文并生成世界文及文本转换方法 |
CN104915341A (zh) * | 2014-03-10 | 2015-09-16 | 中国科学院沈阳自动化研究所 | 可视化多数据库etl集成方法和系统 |
US20150310030A1 (en) * | 2014-04-25 | 2015-10-29 | International Business Machines Corporation | Adaptive fragment assignment for processing file data in a database |
WO2017096941A1 (zh) * | 2015-12-11 | 2017-06-15 | 深圳市华讯方舟软件技术有限公司 | 一种基于Spark-SQL大数据处理平台的后台刷新方法 |
CN109379401A (zh) * | 2018-09-07 | 2019-02-22 | 南京中新赛克科技有限责任公司 | 基于Kafka的原始流量存储装置 |
CN109063201A (zh) * | 2018-09-11 | 2018-12-21 | 武汉魅瞳科技有限公司 | 一种基于混合存储方案的impala在线交互式查询方法 |
Non-Patent Citations (4)
Title |
---|
CAOYUN: "Impala与Hive混合使用的一个深坑", pages 1, Retrieved from the Internet <URL:https://www.jianshu.com/p/8b9aa9ad81a9> * |
JAVA小宝: "Impala中的刷新元数据和刷新表", pages 1, Retrieved from the Internet <URL:https://blog.csdn.net/xiaobao5214/article/details/85062176> * |
三 丰: "Impala刷表的几种方式", pages 1 - 5, Retrieved from the Internet <URL:https://blog.csdn.net/zpf336/article/details/78920919> * |
王博: "面向全基因组关联分析的大数据存储架构设计与实现", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 12, pages 8 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177178B (zh) | 一种数据处理方法及相关设备 | |
CN105550293B (zh) | 一种基于Spark‑SQL大数据处理平台的后台刷新方法 | |
CN112286941B (zh) | 一种基于Binlog+HBase+Hive的大数据同步方法和装置 | |
CN109376196B (zh) | 一种redo日志批量同步方法及装置 | |
CN103631870A (zh) | 一种用于大规模分布式数据处理的系统及其方法 | |
CN105550268A (zh) | 大数据流程建模分析引擎 | |
US11907213B2 (en) | Query processing method, data source registration method, and query engine | |
CN107066546B (zh) | 一种基于mpp引擎的跨数据中心快速查询方法和系统 | |
US10963839B2 (en) | Nested hierarchical rollups by level using a normalized table | |
US20230259509A1 (en) | Data association query method and apparatus, device, and storage medium | |
CN112148788A (zh) | 异构数据源的数据同步方法及系统 | |
CN104462351A (zh) | 一种面向MapReduce范型的数据查询模型与方法 | |
CN111061739A (zh) | 海量医疗数据的入库方法及装置、电子设备、存储介质 | |
CN112000649B (zh) | 一种基于map reduce的增量数据同步的方法和装置 | |
CN111694798A (zh) | 一种基于日志解析的数据同步方法及数据同步系统 | |
CN109165225A (zh) | 一种基于字节流格式的kudu数据导入系统及方法 | |
CN111930862B (zh) | 一种基于大数据平台的sql交互式分析方法及系统 | |
CN112783923A (zh) | 一种基于Spark和Impala高效采集数据库的实现方法 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
CN105573763A (zh) | 一种支持rtos的嵌入式系统建模方法 | |
CN112163030A (zh) | 多表批量操作方法、系统及计算机设备 | |
CN114461712A (zh) | 一种多源异构数据源与图数据库导入导出的方法及装置 | |
CN112395365B (zh) | 一种知识图谱批量离线查询解决方案 | |
RU2012141077A (ru) | Способ и система для хранения данных графов | |
CN102253853B (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 |