大数据理论与实践第11讲分布式sql引擎inceptor_第1页
大数据理论与实践第11讲分布式sql引擎inceptor_第2页
大数据理论与实践第11讲分布式sql引擎inceptor_第3页
大数据理论与实践第11讲分布式sql引擎inceptor_第4页
大数据理论与实践第11讲分布式sql引擎inceptor_第5页
已阅读5页,还剩63页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2345InceptorSQLInceptorPL/SQL23451什么是概用于数据仓库和交互式分析的大数据平台软基于Hadoop的数据仓库产分布式通用SQL引基于Hive和Spark技术打特Hadoop领域对SQL支持最完

Inceptor简什么是特支持完整分布式事务处优异的大数据处理和分析性 -与ApacheHive提供便捷的SQL、PL/SQL开发调试辅助工具

Inceptor简

Inceptor简

Inceptor简(JDBC/(JDBC/(SQL/2

Inceptor原WebWebHadoopHadoopInceptorServer计算引SQL-SQLParser:SQL语法解析-Rule-based&Cost-basedOptimizer-CodeGeneratorPL/SQL-Procedure 过程解析-ParallelOptimizer

Inceptor原InceptorServer计算引Transaction -大数据量下的高稳定计算资-Executor-Web可视化配

Inceptor原Inceptor元数元数据主要包元数 在TxSQL(MySQL集群

Inceptor原CLIWeb-HUE:开源的ApacheHadoopUI-Polit:星环打造的轻量级自助式BI分析工-高效的InceptorSQLIDE-支持主流的关系数据库和数据仓库,如:Oracle、DB2、MySQL、Hive data、SAP

Inceptor原

Inceptor原数据库数据库是一个包含若干 名空间和磁 ,类似于RDBMS中的数据系统会为每个数据库创建一 名=数据库名通常无法删除包含表的数据库,应该先删除表,再删除数据表表是数据管理 的基本对象,包含若干字段,类似于RDBMS中的表的元数 在Metastore中,表的实际数 在HDFS、Holodesk、Hyperbase和Search按所有权分 中 ③删除内表时,会同时删除表数据,以及Metastore中的元数表按所有权分 ③删除外表时,不会删除表数据,但会删除Metastore 格式分①系统默认的表类型,无压缩, ①优化的列

Inceptor原

Inceptor原表 格式分①由ORC表衍生而来,继承了ORC表的所有特性,支持完整CURD(单条和批量Insert、Update②多版本文 -Holodesk ①数 在Hyperbase上,支持多种索引,以及Insert、Update、-ES原始数据和索引数据 在ElasticSearch中,支持模糊查询和全文检索,适用于综合搜2.2

Inceptor原分区目的含义:将表按照某个或某几个字段(分区键)划分为更小的数据分区数 于 下的 中,一个分区对应一个 名为“分区键如何选择分区-分区键通常高频出现在SelectWhere-为了避免产生过多的 CREATECREATETABLEpm.employees( )PARTITIONEDBY(state……2.2

Inceptor原分桶含义:通过分桶键哈希取模(keyhashcode%N)的方式,将表或分区中的数据随机、均匀分发到N个桶中,桶数N一般为质数,桶编号为0,1,…,N-ModMod BucketBucketBucket2.2分桶•

Inceptor原 -桶文件的大小应控制在100~200MB之间(ORC表压缩后 作-提高Join查询效率:如果两个表的Join列都做了分桶,且分桶数相同或成倍数,那么相同列值的用2.2读时模含义:数据写入数据库时 查数据的规范性,而是在查询时再验特

Inceptor原3安装方TDH部署过程中,选择Inceptor服

Inceptor安装与配 安装方TDH部署完成后,在TranswarpManager中单独添加Inceptor服

Inceptor安装与配配置方TranswarpManagerInceptor配

Inceptor安装与配

Inceptor安装与配Beeline是HiveServer2支持的一个新命令行 ,它是基于SQLLineCLI的JDBC客户InceptorServer使用Beeline作为命令行工 中包含Beeline,安装后即可使先认证登录,然后直接输入并执行SQL语/*无认证#beeline-ujdbc:hive2://<server_ip|eg:beeline-u#beeline-u"jdbc:hive2://<server_ip|hostname>:10000/<database_name>"-n<username>-peg:beeline-u"jdbc:hive2://172.16.140.12:10000/default"-nhive-p#beeline-u"jdbc:hive2://<server_ip|hostname>:10000/<database_name>;eg:beeline-u"jdbc:hive2://172.16.140.12:10000/default;principal=hive/tdh-4InceptorSQLSQL

Inceptor1到1到171'a','a',INTERVAL'10'

InceptorSQL数据类型:JDBCvs.

InceptorSQL数据类型:Oraclevs.

InceptorTimestampWithTimestampWithLocalSQL数据类型:DB2vs.

InceptorSQLDDL数据库操Create/Drop/Alter/Use/Describe/Show表的基本操Create/Drop/Alter/Truncate/Describe/Show表的高级操分分函数操Create/Drop/Describe/Show

InceptorSQLDDL创建数据

InceptorCREATECREATEDATABASE[IFNOTEXISTS][COMMENT [WITH删除数据库(先删表后删库('<property_name>'='<property_value>',DROPDROPDATABASE[IFEXISTS]修改数据库属ALTERALTERDATABASE<database_name>SETDBPROPERTIES('<property_name>'='<property_value>',列出所有数据SHOWSHOW切换数据库、查看数据库详USE<database_name>;USE<database_name>;完整建表语[(<col_name><data_type>[COMMENT ment>'][,<data_type>...])][COMMENT [PARTITIONEDBY(<partition_key><data_type>[COMMENT[,<partition_key><data_type>...])][CLUSTEREDBY(<col_name>[SORTEDBY(<col_name>[ASC|DESC][,<col_name>INTO<num_buckets>[][LOCATION[TBLPROPERTIES('<property_name>'='<property_value>',

Inceptor

Inceptor创建内通过自定义Schema来创建内 在数据 下的同名 CREATECREATETABLE[(<col_name><data_type>[,<col_name><data_type>通过已存在的表或视图来创建内- CREATECREATETABLELIKE通过查询结果来创建内- Schema, 数CREATETABLEASSELECT创建外创建外表时,通常要指定数 位删除外表

InceptorCREATECREATEEXTERNALTABLE(<col_name><data_type>[,<col_name><data_type>[LOCATION创建临时临时表仅在当前Session可见,Session结束后即被删除,且不支持分如果临时表和永久表重名,在当前Session中该表名指向临时表,同名的永久表无CREATECREATETEMPORARYTABLE(<col_name><data_type>[,<col_name><data_type>4.2SQLDDL

Inceptor删除对于内表,表的元数据和数据都会被删除;对于外表,只删除元DROPDROPTABLE修改/*表重命名ALTERTABLE<table_name>RENAMETO/*修改表属性ALTERTABLE<table_name>SETTBLPROPERTIES('<property_name>'='<property_value>'...);ALTERTABLE<table_name>SETSERDEPROPERTIES('<property_name>'='<property_value>'...);ALTERTABLE<table_name>SETLOCATION'<new_location>';/*增加、删除、修改、替换列ALTERTABLE<table_name>ADDCOLUMNS(<col_spec>[,<col_spec>ALTERTABLE<table_name>DROP[COLUMN]ALTERTABLE<table_name>CHANGE<col_name><new_col_name><new_col_type>ALTERTABLE<table_name>RE CECOLUMNS(<col_spec>[,<col_spec>...])4.2SQLDDL

Inceptor清空清空表中的数TRUNCATETRUNCATETABLE查看表详DESCRIBEDESCRIBETABLE列出当前数据库的所有SHOWSHOWTABLES4.2SQLDDL

Inceptor分分区表将数据按分区键的键 在 的 中 名为“分区键=键值Inceptor只支持TEXT表、ORC表、CSV表和Holodesk表的分区操单值分区范围分区:一个分区对应分区键的一个范围(区间AAAAABCCC /inceptor1/user/hive/warehouse/default.db/psn/level=A4.2SQLDDL

Inceptor分区:单值分创建单值分区时,分区键不能和表结构中的列重复,因为分区键 在分 名中,区数据中不包含分区键,否则会造成数据冗CREATECREATE[EXTERNAL]TABLE(<col_name><data_type>[,<col_name><data_type>...])PARTITIONEDBY(<partition_key><data_type>,...)[CLUSTEREDBY...][ROWFORMAT[STOREDAS[LOCATION[TBLPROPERTIES('<property_name>'='<property_value>',单值分区可分为两4.2SQLDDL分区:单值分将数据写入静态分

InceptorLOADDATA[LOCAL]INPATH'<path>’[OVERWRITE]INTOTABLEPARTITION(<partition_key>=<partition_value>[,<partition_key>=<partition_value>,INSERTOVERWRITETABLEPARTITION(<partition_key>=<partition_value>[,<partition_key>=<partition_value>,...])SELECT<select_statement>;/*/*追加写入INSERTINTOTABLEPARTITION(<partition_key>=<partition_value>[,<partition_key>=<partition_value>,SELECT4.2SQLDDL分区:单值分将数据写入动态分

Inceptor/*/*开启动态分区支持,并设置最大分区数*/sethive.exec.dynamic.partition=true;setINSERT(OVERWRITE|INTO)TABLEPARTITION([<spk>=<value>,...,]<dpk>,[...,SELECT一张表可同时被静态建表时动态分区键应-因为HDFS上的动态分 向单值静态分区写入数据时,没有任何机制保证分区键的正确性,所以用户必须自己确保据写入正确的分4.2SQLDDL

Inceptor分区:单值分将单个分区大小和分区数量控制在合理范围分区:添加、删除、重命名、清空分ALTERALTERTABLE<table_name>ADDPARTITIONALTERTABLE<table_name>DROPPARTITIONALTERTABLE<table_name>PARTITION(<partition_key>=<value>)RENAMETOTRUNCATETABLE<table_name>PARTITION4.2SQLDDL分区:范围分每个分区对应分区键的一个区间,凡是落在指定区间内的记录都 在对应的分区各范围分区按顺序排列,前一个分区的最大值即为后一个分区的最小创建范围分

InceptorCREATECREATE[EXTERNAL]TABLE(<col_name><data_type>,<col_name><data_type>,...)PARTITIONEDBYRANGE(<partition_key><data_type>,...)(PARTITION[<partition_name>]VALUESLESSTHAN[PARTITION[<partition_name>]VALUESLESSTHAN]PARTITION[<partition_name>]VALUESLESSTHAN)[ROWFORMAT<row_format>][STOREDAS[LOCATION[TBLPROPERTIES('<property_name>'='<property_value>',4.2SQLDDL

Inceptor分区:范围分所有范围分区均需手工指定,可在建表时就添加分区,也可在建表后通过AlterTable添加或除分分区范围为前闭后开区间[最小值,最大值),即ValuesLessThan的含可将最后一个分区的最大值定义为 MAXVALUE代表分区键的最大支持以InsertInto/Overwrite…Select的形式向范围分区中写入数据,写入时无需像单值静态区一样指定分区键的值,形式上类似于单值动态分区写不支持将文件直接导入(LoadData)范围分不支持范围分区和单4.2SQLDDL分含义:按分桶键哈希取模的方式,将表中数据随机、均匀地分发到若干桶文件目的:通过改变数据 分布,提升取样、Join等特定任务的执行效创建分桶-INTOBUCKETS设定桶的数量,SORTEDBY设定桶内排序,默认升

InceptorCREATECREATE[EXTERNAL]TABLE(<col_name><data_type>[,<col_name><data_type>[PARTITIONEDBYCLUSTEREDBY[SORTEDBY(<col_name>[ASC|DESC][,<col_name>INTO<num_buckets>BUCKETS[ROWFORMAT<row_format>][STOREDASTEXTFILE|ORC|CSVFILE][LOCATION[TBLPROPERTIES('<property_name>'='<property_value>',4.2SQLDDL

Inceptor分将数据写入分桶-写入分桶表只能通过Insert,而不能通过Load,因为Load只导入文件,并不-如果分桶键和排序键不同,且按降序排列,使用DistributebySortby/*开启强制分桶,并设置Reduce任务数为分桶数set .bucketing=setINSERT(OVERWRITE|INTO)TABLESELECT<select_expression>,<select_expression>,...FROMDISTRIBUTEBY<col_name>SORTBY<col_name>[ASC|DESC][,col_name[ASC|DESC],[CLUSTERBY<col_list>4.2SQLDDL分与分区键不同,分桶键必须是表结构中分桶键和分桶数在建表时确定,不允许更ORC事务表必须分每个桶的文件大小应在100~200MB之间(ORC表压缩后的数据通常先分区后分

Inceptor4.2SQLDDL创建、删除临时函Inceptor生命周期有效,并非Session有效,重启Inceptor后该函数失

Inceptor/*/*添加jarADDJAR[S]CREATETEMPORARYFUNCTION<function_name>ASDROPTEMPORARYFUNCTION[IFEXISTS]创建、删除永久函CREATECREATEPERMANENTFUNCTION<function_name>AS[USINGJAR|FILE|ARCHIVE'<file_uri>'[,JAR|FILE|ARCHIVE'<file_uri>']DROPPERMANENTFUNCTION[IFEXISTS]列出所有函数、查看函数详SHOWSHOWDESCRIBEFUNCTION4.3SQL数据导-Insert数据导出:Insert导查询SQLDML注意事常见的DML只能用于ORC事务表、Hyperbase-例如:单行数据的增删改操作,InsertvaluesInto、Delete、如果写入普通表,则将指定的文件或查询结果放入表对应 中, 不能有如果写入分区表,则必须将文件放入对应的分

Inceptor4.3SQLDML数据预处要求:文件编码为UTF-8,\n为换行符处理编-如果是ASCii码,进入外表中文显示不正

Inceptor#file$filename/*#iconv-fgbk-tutf-8$sourceFile>/*ALTERTABLE<tableName>SETSERDEPROPERTIES('serialization'='GBK');4.3SQLDML数据预处处理换行

Inceptor#dos2unix#vim4.3SQLDML

Inceptor将文件导入表或分区(Load导入将文件中的数据导入仅将数据文件移动到表或分区 中,不会对数据进行任何处理,如分桶、排不支持动态分区导不推荐使用Load导入数据:在安全模式下的权限设置步骤较推荐的数据导入方法:创建外表,并将外表Location-<path>是文 路径,如果标注LOCAL,指向本地磁盘路径,不标则指向HDFS路-<path>既可指向文件也可指 -<path>是HDFS路径时,执行操作的用户必须是<path>的Owner,同时Inceptor用户必须有读写LOADDATA[LOCAL]INPATH'<path>’[OVERWRITE]TABLE[PARTITION(<partition_key>=<partition_value>,4.3SQLDML将查询结果导入表或分区(Insert导入单值静态分区导

InceptorINSERTINSERT(OVERWRITE|INTO)TABLEPARTITION(<partition_key>=<partition_value>[,<partition_key>=<partition_value>,SELECT单值动态分区导-静态分区存在的问题是需要手工输入大量的Insert语/*开启动态分区支持,并设置最大分区数*/sethive.exec.dynamic.partition=true;setINSERT(OVERWRITE|INTO)TABLEPARTITION([<spk>=<value>,...,]<dpk>,[...,SELECT4.3SQLDML将数据导出到本地或HDFS(Insert导出将查询结果导出到本 ,可能生成多个文与导入数据不一样,不能用InsertInto导出数据,只能用Insert-标注LOCAL代表导出到本地磁盘,不标代表导出到-DIRECTORY指定数据导出的文INSERTOVERWRITE[LOCAL]DIRECTORYSELECT[ROWFORMAT:[FIELDSTERMINATEDBYchar[ESCAPEDBYchar]][COLLECTIONITEMSTERMINATEDBYchar][MAPKEYSTERMINATEDBY[LINESTERMINATEDBY[NULLDEFINEDASchar][STOREDAS

Inceptor4.3SQLDMLSelect查过滤:Where、排序:OrderBy、Sort连接SELECT[ALL|DISTINCT]<select_expression>,<select_expression>,[WHERE<where_condition>][GROUPBY<col_list>][ORDERBY<col_name>[ASC|DESC][,col_name[ASC|DESC],...][CLUSTERBY<col_list>[DISTRIBUTEBY<col_list>][SORTBY<col_name>[ASC|DESC][,col_name[ASC|DESC],...]][LIMIT(M,)N|[OFFSETMROWSFETCHNEXT|FIRST]NROWS

Inceptor4.3SQLDML

Inceptor过Where:对全表数据进行过滤,即在查询结果分组之前,将不符合条件的数据过滤掉,且件中不能包含聚合函Having:对GroupBy产生的分组进行过滤,即在查询结果分组之后,将不符合条件的组过滤执行次序:WhereGroupBySELECT*FROMuser_infoWHEREreg_date< ANDlevel='A'ORlevel='B';SELECT*FROMuser_infoWHEREreg_dateBETWEEN SELECTnameFROMuser_infoWHERElevelIN('A','B','C'',‘D');SELECTnameFROMuser_infoWHERElevelNOTIN('A','B','C'',SELECTname,avg(age)FROMWHEREreg_dateGROUPBYlevelHAVINGBYavg(age)<4.3SQLDML排OrderBy(全局排序

InceptorSELECTSELECT<select_expression>,<select_expression>,FROMORDERBY<col_name>[ASC|DESC][,col_name[ASC|DESC],SortBy(局部排序-当启动多个Reduce任务时,OrderBy输出一个文件且全局有序,SortBySELECTSELECT<select_expression>,<select_expression>,FROMSORTBY<col_name>[ASC|DESC][,col_name[ASC|DESC],4.3SQLDML分桶与聚-将DistributeBy列值相同的数据发送给同一个Reduce-通常与SortBy合并使用,实现先聚合后排序,且DistributeBy必须在SortBy

InceptorSELECTSELECT<select_expression>,<select_expression>,FROM<table_name>DISTRIBUTEBY<col_list>[SORTBY<col_name>[ASC|DESC][,col_name[ASC|DESC],...]Cluster-如果DistributeBy列和SortBy列完全相同,且按升序排列,那么ClusterByDistributeBySortSELECT<select_expression>,<select_expression>,FROMCLUSTERBY4.3SQLDML连接等价连-ON子句不能包含OR、BETWEEN、

InceptorSELECTSELECT<select_expression>,<select_expression>,FROM<table_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论