業(yè)務(wù)導向的自定義大數(shù)據(jù)查詢系統(tǒng)及其SQL解析器的設(shè)計與實現(xiàn)
發(fā)布時間:2022-01-04 19:48
隨著互聯(lián)網(wǎng)的快速發(fā)展,用戶數(shù)據(jù)以極快的速度積累,用戶行為分析成為熱門的研究內(nèi)容。本論文實現(xiàn)的數(shù)據(jù)查詢系統(tǒng)是互聯(lián)網(wǎng)用戶行為分析系統(tǒng)的一個數(shù)據(jù)查詢子系統(tǒng)。本文定義了一種簡單的領(lǐng)域?qū)S谜Z言,并將其命名為SSQL(Simple Structured Query Language,簡單結(jié)構(gòu)化數(shù)據(jù)查詢語言),論文根據(jù)具體需求抽象出一般查詢場景,進而將其抽象成為一般的語法規(guī)則。本文使用擴展的巴克斯范式來定義SSQL,并使用ANTLR(ANother Tool for Language Recognition,一一種語言識別器)作為語法解析器生成工具,然后使用解析器和遍歷器構(gòu)建查詢?nèi)蝿?wù)。SSQL語法支持了數(shù)據(jù)定義語句、數(shù)據(jù)查詢語句以及系統(tǒng)管理語句。查詢語法支持的查詢數(shù)據(jù)源包括HDFS結(jié)構(gòu)化數(shù)據(jù)、MySQL、Hive、以及Redis,ElasticSearch等常見NoSQL數(shù)據(jù)源。此外,SSQL語法還對數(shù)據(jù)源的管理提供支持,支持了對數(shù)據(jù)源的定義及其增刪查改。本論文基于SSQL查詢語法設(shè)計和實現(xiàn)了一個數(shù)據(jù)查詢系統(tǒng),為數(shù)據(jù)開發(fā)者提供了快速、定制化的大數(shù)據(jù)查詢平臺。論文介紹了該查詢系統(tǒng)的組成結(jié)構(gòu)和其實現(xiàn)過程...
【文章來源】:北京郵電大學北京市 211工程院校 教育部直屬院校
【文章頁數(shù)】:101 頁
【學位級別】:碩士
【部分圖文】:
圖2-1?HDFS架構(gòu)??本文面向互聯(lián)網(wǎng)用戶行為分析系統(tǒng)中的數(shù)據(jù)查詢子系統(tǒng),HDFS作為部分離??
迭代的算法[14]。Spark提供比Hadoop更多的更方便的編程模型,內(nèi)存環(huán)境下,??Spark比Hadoop快大約兩個數(shù)量級[5]。??Spark項目的結(jié)構(gòu)如圖2-2所示。Spark提供了一個彈性分布式數(shù)據(jù)集??(Resilient?Distributed?Datasets,?RDD)的抽象編程接口,是?Spark?的核心編程接??口。除此之外,Spark生態(tài)系統(tǒng)中還包括其他附加庫,比如Spark?Streaming用于??處理實時流數(shù)據(jù),以及機器學習庫Spark?MLlib和圖計算Spark?GraphX。Spark??SQL是Spark的另外一個重要組成,主要負責HDFS中結(jié)構(gòu)化文件的處理。??□日日曰??f?N??Spark?Core??V?/??圖2-2?Spark項目架構(gòu)??2.?2?Spark中的SQL解析技術(shù)??2.2.1?Spark?SQL?概述??Spark?SQL是Spark中把函數(shù)式編程接口和關(guān)系型查詢結(jié)合起來的新的模??塊,從組成上來講,主要由Spark?SQL內(nèi)核、Catalyst優(yōu)化器、Hive支持3部??分組成[4],由最初的Shark演化而來[6]。Spark?SQL的編程接口如圖2-3所示。??Spark?SQL同時兼容HiveQL語法,可以訪問己經(jīng)存在的Hive數(shù)據(jù)倉庫,還支??持和標準JDBC的集成
迭代的算法[14]。Spark提供比Hadoop更多的更方便的編程模型,內(nèi)存環(huán)境下,??Spark比Hadoop快大約兩個數(shù)量級[5]。??Spark項目的結(jié)構(gòu)如圖2-2所示。Spark提供了一個彈性分布式數(shù)據(jù)集??(Resilient?Distributed?Datasets,?RDD)的抽象編程接口,是?Spark?的核心編程接??口。除此之外,Spark生態(tài)系統(tǒng)中還包括其他附加庫,比如Spark?Streaming用于??處理實時流數(shù)據(jù),以及機器學習庫Spark?MLlib和圖計算Spark?GraphX。Spark??SQL是Spark的另外一個重要組成,主要負責HDFS中結(jié)構(gòu)化文件的處理。??□日日曰??f?N??Spark?Core??V?/??圖2-2?Spark項目架構(gòu)??2.?2?Spark中的SQL解析技術(shù)??2.2.1?Spark?SQL?概述??Spark?SQL是Spark中把函數(shù)式編程接口和關(guān)系型查詢結(jié)合起來的新的模??塊,從組成上來講,主要由Spark?SQL內(nèi)核、Catalyst優(yōu)化器、Hive支持3部??分組成[4],由最初的Shark演化而來[6]。Spark?SQL的編程接口如圖2-3所示。??Spark?SQL同時兼容HiveQL語法,可以訪問己經(jīng)存在的Hive數(shù)據(jù)倉庫,還支??持和標準JDBC的集成
【參考文獻】:
期刊論文
[1]Spark SQL優(yōu)化器系統(tǒng)Catalyst的深入解析和應用[J]. 鄒學利. 決策咨詢. 2018(03)
[2]基于ANTLR的Web應用測試腳本自動重構(gòu)方法[J]. 周輝,錢巨. 計算技術(shù)與自動化. 2017(03)
[3]一種基于ANTLR的MongoDB數(shù)據(jù)庫SQL轉(zhuǎn)化模型[J]. 李常青,谷建華. 西北工業(yè)大學學報. 2017(01)
[4]基于ANTLR的SQL語法分析策略與實現(xiàn)[J]. 王海燕,楊鶴標. 計算機應用與軟件. 2013(11)
[5]一種領(lǐng)域特定語言的研究與實現(xiàn)[J]. 趙衛(wèi)東,劉永紅. 成都大學學報(自然科學版). 2013(02)
[6]基于ANTLR的TTCN-3編譯器的面向?qū)ο笤O(shè)計[J]. 徐玲,韋巍. 控制工程. 2012(S1)
[7]基于領(lǐng)域?qū)S谜Z言的應用軟件自動生成[J]. 周艷明. 計算機工程與應用. 2003(10)
碩士論文
[1]基于抽象語法樹的SQL注入防御研究[D]. 王杰.武漢郵電科學研究院 2018
[2]基于Spark系統(tǒng)的查詢分析及優(yōu)化研究[D]. 張雷.北京交通大學 2016
[3]基于代價模型的Spark SQL查詢優(yōu)化研究[D]. 劉春雷.電子科技大學 2016
[4]SQL語言到自然語言自動翻譯的研究[D]. 呂海熊.北京理工大學 2016
[5]面向數(shù)據(jù)庫安全的SQL語句解析與翻譯[D]. 宋健龍.北京理工大學 2015
[6]基于ANTLR的Gaussian詞法分析器和語法分析器的分析與設(shè)計[D]. 劉三獻.蘭州大學 2009
本文編號:3568958
【文章來源】:北京郵電大學北京市 211工程院校 教育部直屬院校
【文章頁數(shù)】:101 頁
【學位級別】:碩士
【部分圖文】:
圖2-1?HDFS架構(gòu)??本文面向互聯(lián)網(wǎng)用戶行為分析系統(tǒng)中的數(shù)據(jù)查詢子系統(tǒng),HDFS作為部分離??
迭代的算法[14]。Spark提供比Hadoop更多的更方便的編程模型,內(nèi)存環(huán)境下,??Spark比Hadoop快大約兩個數(shù)量級[5]。??Spark項目的結(jié)構(gòu)如圖2-2所示。Spark提供了一個彈性分布式數(shù)據(jù)集??(Resilient?Distributed?Datasets,?RDD)的抽象編程接口,是?Spark?的核心編程接??口。除此之外,Spark生態(tài)系統(tǒng)中還包括其他附加庫,比如Spark?Streaming用于??處理實時流數(shù)據(jù),以及機器學習庫Spark?MLlib和圖計算Spark?GraphX。Spark??SQL是Spark的另外一個重要組成,主要負責HDFS中結(jié)構(gòu)化文件的處理。??□日日曰??f?N??Spark?Core??V?/??圖2-2?Spark項目架構(gòu)??2.?2?Spark中的SQL解析技術(shù)??2.2.1?Spark?SQL?概述??Spark?SQL是Spark中把函數(shù)式編程接口和關(guān)系型查詢結(jié)合起來的新的模??塊,從組成上來講,主要由Spark?SQL內(nèi)核、Catalyst優(yōu)化器、Hive支持3部??分組成[4],由最初的Shark演化而來[6]。Spark?SQL的編程接口如圖2-3所示。??Spark?SQL同時兼容HiveQL語法,可以訪問己經(jīng)存在的Hive數(shù)據(jù)倉庫,還支??持和標準JDBC的集成
迭代的算法[14]。Spark提供比Hadoop更多的更方便的編程模型,內(nèi)存環(huán)境下,??Spark比Hadoop快大約兩個數(shù)量級[5]。??Spark項目的結(jié)構(gòu)如圖2-2所示。Spark提供了一個彈性分布式數(shù)據(jù)集??(Resilient?Distributed?Datasets,?RDD)的抽象編程接口,是?Spark?的核心編程接??口。除此之外,Spark生態(tài)系統(tǒng)中還包括其他附加庫,比如Spark?Streaming用于??處理實時流數(shù)據(jù),以及機器學習庫Spark?MLlib和圖計算Spark?GraphX。Spark??SQL是Spark的另外一個重要組成,主要負責HDFS中結(jié)構(gòu)化文件的處理。??□日日曰??f?N??Spark?Core??V?/??圖2-2?Spark項目架構(gòu)??2.?2?Spark中的SQL解析技術(shù)??2.2.1?Spark?SQL?概述??Spark?SQL是Spark中把函數(shù)式編程接口和關(guān)系型查詢結(jié)合起來的新的模??塊,從組成上來講,主要由Spark?SQL內(nèi)核、Catalyst優(yōu)化器、Hive支持3部??分組成[4],由最初的Shark演化而來[6]。Spark?SQL的編程接口如圖2-3所示。??Spark?SQL同時兼容HiveQL語法,可以訪問己經(jīng)存在的Hive數(shù)據(jù)倉庫,還支??持和標準JDBC的集成
【參考文獻】:
期刊論文
[1]Spark SQL優(yōu)化器系統(tǒng)Catalyst的深入解析和應用[J]. 鄒學利. 決策咨詢. 2018(03)
[2]基于ANTLR的Web應用測試腳本自動重構(gòu)方法[J]. 周輝,錢巨. 計算技術(shù)與自動化. 2017(03)
[3]一種基于ANTLR的MongoDB數(shù)據(jù)庫SQL轉(zhuǎn)化模型[J]. 李常青,谷建華. 西北工業(yè)大學學報. 2017(01)
[4]基于ANTLR的SQL語法分析策略與實現(xiàn)[J]. 王海燕,楊鶴標. 計算機應用與軟件. 2013(11)
[5]一種領(lǐng)域特定語言的研究與實現(xiàn)[J]. 趙衛(wèi)東,劉永紅. 成都大學學報(自然科學版). 2013(02)
[6]基于ANTLR的TTCN-3編譯器的面向?qū)ο笤O(shè)計[J]. 徐玲,韋巍. 控制工程. 2012(S1)
[7]基于領(lǐng)域?qū)S谜Z言的應用軟件自動生成[J]. 周艷明. 計算機工程與應用. 2003(10)
碩士論文
[1]基于抽象語法樹的SQL注入防御研究[D]. 王杰.武漢郵電科學研究院 2018
[2]基于Spark系統(tǒng)的查詢分析及優(yōu)化研究[D]. 張雷.北京交通大學 2016
[3]基于代價模型的Spark SQL查詢優(yōu)化研究[D]. 劉春雷.電子科技大學 2016
[4]SQL語言到自然語言自動翻譯的研究[D]. 呂海熊.北京理工大學 2016
[5]面向數(shù)據(jù)庫安全的SQL語句解析與翻譯[D]. 宋健龍.北京理工大學 2015
[6]基于ANTLR的Gaussian詞法分析器和語法分析器的分析與設(shè)計[D]. 劉三獻.蘭州大學 2009
本文編號:3568958
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3568958.html
最近更新
教材專著