CN105487872A - 一种MapReduce程序快速生成方法 - Google Patents
一种MapReduce程序快速生成方法 Download PDFInfo
- Publication number
- CN105487872A CN105487872A CN201510874778.XA CN201510874778A CN105487872A CN 105487872 A CN105487872 A CN 105487872A CN 201510874778 A CN201510874778 A CN 201510874778A CN 105487872 A CN105487872 A CN 105487872A
- Authority
- CN
- China
- Prior art keywords
- mapreduce
- pig
- modeling
- result
- rapid generation
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种MapReduce程序快速生成方法,包括:问题建模处理,用于对目标问题进行数学抽象,以得到键-值对形式的建模结果,并在数据仓库中存储并维护得到的键-值对;Pig处理,用于将建模结果按照面向Pig?Latin的数据结构进行表达;结果生成处理,用于对Pig处理的结果面向MapReduce的类库进行解析与翻译,调试生成最终的并行程序。
Description
技术领域
本发明涉及程序设计领域,更具体地说,本发明涉及一种MapReduce程序快速生成方法,特别是涉及一种基于PigLatin语言的中间处理方法。
背景技术
在半结构化、非结构化数据处理领域,Hadoop系统目前依旧是企业的不二之选。然而,高效并行的背后,却难掩Map/Reduce及其子过程开发耗时繁复、可扩展性低、可利用性差等缺陷。究其原因,Shuffle、Map、Reduce等并行子过程的开发、调试复杂,是其中的重要因素。
目前,利用开发工具及其相关插件(如Eclipse)与HDFS形成集成开发环境拥有较广的市场,然而此举效果有限。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种能够有效地对程序进行表达、展现与评估的MapReduce程序快速生成方法。
为了实现上述技术目的,根据本发明,提供了一种MapReduce程序快速生成方法,包括:
问题建模处理,用于对目标问题进行数学抽象,以得到键-值对形式的建模结果,并在数据仓库中存储并维护得到的键-值对;
Pig处理,用于将建模结果按照面向PigLatin的数据结构进行表达;
结果生成处理,用于对Pig处理的结果面向MapReduce的类库进行解析与翻译,调试生成最终的并行程序。
优选地,在第一步骤中,在Hadoop底层存储架构HDFS平台上以小于64MB的文件块分布存储键-值对。
优选地,在第一步骤中,将键-值对的数据组织到相关的数据库或数据仓库中。
优选地,问题建模建立了计算机处理的问题域表达。
优选地,Pig处理为程序的生成提供缓冲。
优选地,Pig处理针对数组、映射与集合来将建模结果按照面向PigLatin的数据结构进行表达。
优选地,Pig处理应用的操作包括排序、过滤、分组和连接。
附图说明
结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
图1示意性地示出了根据本发明优选实施例的MapReduce程序快速生成方法的流程图。
需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。
具体实施方式
为了使本发明的内容更加清楚和易懂,下面结合具体实施例和附图对本发明的内容进行详细描述。
图1示意性地示出了根据本发明优选实施例的MapReduce程序快速生成方法的流程图。
如图1所示,根据本发明优选实施例的MapReduce程序快速生成方法包括依次执行的下述步骤:
第一步骤:问题建模处理,用于对目标问题进行数学抽象,以得到键-值对形式的建模结果,并在数据仓库中存储并维护得到的键-值对。
例如,在Hadoop底层存储架构HDFS(HadoopDistributedFileSystem)平台上以小于64MB的文件块分布存储键-值对。此外,例如,为了提高存取与处理效率,可以将键-值对的数据组织到相关的数据库(HBase)或数据仓库(Hive)中。
问题建模是对问题系统进行描述,旨在建立计算机处理的问题域表达,方便后续分布式进行。
第二步骤:Pig处理,用于将建模结果按照面向PigLatin的数据结构进行表达;具体地,例如,主要是数组(tuple)、映射(map)与集合(bag)的考虑,关键是相关操作的应用,如排序、过滤、分组、连接等。
Pig处理是中间阶段,旨在为程序的生成提供缓冲,优先复杂数据类型及关键操作的实现,方便为相似问题提供较一般的接口。该Pig处理利用PigLatin语言,在问题建模与MapReduce程序之间加入了一个中间处理阶段,为二者之间的差异架起了桥梁。
第三步骤:结果生成处理,用于对Pig处理的结果面向MapReduce的类库进行解析与翻译,调试生成最终的并行程序。
结果生成处理以MapReduce的公共接口为基础,对Pig生成的操作进行转译。例如,例如,结果生成处理将Pig语言所生成的操作代码,转译成类库为基础的映射(Map)、排序(Sort)、归约(Reduce)等。
本发明公开了一种MapReduce程序快速生成框架。框架基于Hadoop分布式存储框架与并行处理模型MapReduce模式,理论上能够协助所有计算问题快速生成MapReduce程序,从而节约成本,提高并行代码的可用性。
更具体地说,与现有技术相比,本发明一种MapReduce程序快速生成框架具有以下优点:(1)面向分布式存储系统Hadoop与分布式计算模式MapReduce,适用范围较广;(2)缩短了并行程序的开发周期,提高了其可用性。
<具体示例>
举例来说,根据本发明优选实施例的MapReduce程序快速生成方法的具体示例包括:
首先,对于给定的大数据分析问题,清洗数据后,对其中的Schema进行面向键-值对的抽象存入Hive中。
然后,根据建模结果,运用Pig语言进行数据表示与操作编排。
随后,根据MapReduce提供的API(ApplicationProgrammingInterface,应用程序编程接口),对Pig处理后的中间结果进行转译,生成最终程序代码。
本发明立足ApachePig语言,它内置过程式语言,并与HDFS密切结合,善于对大数据分析程序进行表达、展现与评估。其中基础设施层中包含一人编译器,能够为已有的Hadoop集群批量生产MapReduce程序。
此外,需要说明的是,除非特别说明或者指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (7)
1.一种MapReduce程序快速生成方法,其特征在于包括:
问题建模处理,用于对目标问题进行数学抽象,以得到键-值对形式的建模结果,并在数据仓库中存储并维护得到的键-值对;
Pig处理,用于将建模结果按照面向PigLatin的数据结构进行表达;
结果生成处理,用于对Pig处理的结果面向MapReduce的类库进行解析与翻译,调试生成最终的并行程序。
2.根据权利要求1所述的MapReduce程序快速生成方法,其特征在于,在第一步骤中,在Hadoop底层存储架构HDFS平台上以小于64MB的文件块分布存储键-值对。
3.根据权利要求1或2所述的MapReduce程序快速生成方法,其特征在于,在第一步骤中,将键-值对的数据组织到相关的数据库或数据仓库中。
4.根据权利要求1或2所述的MapReduce程序快速生成方法,其特征在于,问题建模建立了计算机处理的问题域表达。
5.根据权利要求1或2所述的MapReduce程序快速生成方法,其特征在于,Pig处理为程序的生成提供缓冲。
6.根据权利要求1或2所述的MapReduce程序快速生成方法,其特征在于,Pig处理针对数组、映射与集合来将建模结果按照面向PigLatin的数据结构进行表达。
7.根据权利要求1或2所述的MapReduce程序快速生成方法,其特征在于,Pig处理应用的操作包括排序、过滤、分组和连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510874778.XA CN105487872A (zh) | 2015-12-02 | 2015-12-02 | 一种MapReduce程序快速生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510874778.XA CN105487872A (zh) | 2015-12-02 | 2015-12-02 | 一种MapReduce程序快速生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105487872A true CN105487872A (zh) | 2016-04-13 |
Family
ID=55674872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510874778.XA Pending CN105487872A (zh) | 2015-12-02 | 2015-12-02 | 一种MapReduce程序快速生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105487872A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339972A1 (en) * | 2012-06-18 | 2013-12-19 | Zhuoyao Zhang | Determining an allocation of resources to a program having concurrent jobs |
US20140115560A1 (en) * | 2012-10-20 | 2014-04-24 | Luke Hutchison | Systems and methods for parallelization of program code, interactive data visualization, and graphically-augmented code editing |
CN103761080A (zh) * | 2013-12-25 | 2014-04-30 | 中国农业大学 | 一种基于SQL的MapReduce作业生成方法及系统 |
-
2015
- 2015-12-02 CN CN201510874778.XA patent/CN105487872A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339972A1 (en) * | 2012-06-18 | 2013-12-19 | Zhuoyao Zhang | Determining an allocation of resources to a program having concurrent jobs |
US20140115560A1 (en) * | 2012-10-20 | 2014-04-24 | Luke Hutchison | Systems and methods for parallelization of program code, interactive data visualization, and graphically-augmented code editing |
CN103761080A (zh) * | 2013-12-25 | 2014-04-30 | 中国农业大学 | 一种基于SQL的MapReduce作业生成方法及系统 |
Non-Patent Citations (4)
Title |
---|
万川梅,谢正兰编著: "《Hadoop应用开发实战详解-修订版》", 30 August 2014 * |
卢博林斯凯: "《Hadoop高级编程-构建与实现大数据解决方案》", 31 July 2014 * |
孟小峰等: ""大数据管理:概念、技术与挑战"", 《技术与挑战计算机研究与发展》 * |
张德丰主编: "《云计算实战》", 31 July 2012 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | A review on big data based parallel and distributed approaches of pattern mining | |
Parvat et al. | A survey of deep-learning frameworks | |
Aridhi et al. | Big graph mining: Frameworks and techniques | |
Szárnyas et al. | IncQuery-D: A distributed incremental model query framework in the cloud | |
WO2019051426A1 (en) | PRUNING ENGINE | |
Chadzynski et al. | Semantic 3D City Database—An enabler for a dynamic geospatial knowledge graph | |
Perez et al. | Ringo: Interactive graph analytics on big-memory machines | |
de Brevern et al. | Trends in IT innovation to build a next generation bioinformatics solution to manage and analyse biological big data produced by NGS technologies | |
KR101617696B1 (ko) | 데이터 정규표현식의 마이닝 방법 및 장치 | |
US11379499B2 (en) | Method and apparatus for executing distributed computing task | |
EP3387525B1 (en) | Learning from input patterns in programing-by-example | |
Nabti et al. | Querying massive graph data: A compress and search approach | |
Ceri et al. | Data management for heterogeneous genomic datasets | |
Tanase et al. | A highly efficient runtime and graph library for large scale graph analytics | |
Yu et al. | Graph-based code semantics learning for efficient semantic code clone detection | |
Cuzzocrea et al. | MapReduce-based algorithms for managing big RDF graphs: state-of-the-art analysis, paradigms, and future directions | |
Shen et al. | Approach to accelerating dissolved vector buffer generation in distributed in-memory cluster architecture | |
Lugowski et al. | Parallel processing of filtered queries in attributed semantic graphs | |
CN113505278A (zh) | 图匹配方法、装置、电子设备及存储介质 | |
CN105573763A (zh) | 一种支持rtos的嵌入式系统建模方法 | |
Agarwal et al. | Next generation distributed computing for cancer research | |
Lin et al. | GPU‐UPGMA: high‐performance computing for UPGMA algorithm based on graphics processing units | |
Assiroj et al. | High performance computing (hpc) implementation: A survey | |
Kaur et al. | Analysis of big data cloud computing environment on healthcare organizations by implementing Hadoop clusters | |
Leich et al. | Applying stratosphere for big data analytics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160413 |