Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx

上传人:lao****ou 文档编号:855013 上传时间:2024-06-23 格式:DOCX 页数:10 大小:28.12KB
下载 相关 举报
Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx_第1页
第1页 / 共10页
Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx_第2页
第2页 / 共10页
Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx_第3页
第3页 / 共10页
Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx_第4页
第4页 / 共10页
Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx》由会员分享,可在线阅读,更多相关《Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx(10页珍藏版)》请在第一文库网上搜索。

1、实训5.2数据定义操作DDLL实训I目的通过本实训I,理解HiveQL与SQL的区别,理解DDL的概念以及实际操作。2 .实训内容本实训包含HiveQL与SQL的语法上的7种重要对比,用法上的4种不同; 分别进行了数据库的DDL操作和表的DDL操作。3 .实训要求以小组为单元进行实训,每小组5人,小组自主协商选一位组长,由组长安 排和分配实训任务,注意对比HiVeQL与SQL的区别,避免在使用的时候出现 语法错误。4 .准备知识(1) HiVeQL 与 SQL 的区另IJHiVe的查询语言是HiVeQL, HQL支持SQL-92标准,所以和SQL非常相 似。但由于HiVe是基于Hadoop,而

2、SQL通常是基于关系型数据库,这使得 HQL与SQL相比有一些区别和局限。(2)语法的区别两表内联:SQL :select * from dual a,dual b where a.Key = b.Key;Hive中应为:select * from dual a join dual b on a.Key = b.Key;而不是便统的格式:select tl.al as cl, t2.b 1 as c2 from tl, t2 where tl.a2 = t2.b2;分号字符分号是SQL语句和HiveQL的结束标记,但HiveQL中,对分号有个别区别, 例如:select concat(Key,

3、concat(,Key) from dual;SQL可以执行,但是HiVeQL会报错,因用下面语句:select concat(Key,concat(073,Key) from dual;IS NOT NULLSQL中null代表空值,但在HiveQL中String类型的字段若是空(empty)字符 串,即长度为0,那么对它进行ISNULL的判断结果是False,即非空。HiVe不支持将数据插入现有的表或分区中,仅支持覆盖重写整个表HiVe 不支持 INSERT INTO 表 Values(), UPDATE, DELETE 操作HiVe支持嵌入M叩reduce程序,来处理复杂的逻辑HiVe支

4、持将转换后的数据直接写入不同的表,还能写入分区、HDFS和本 地目录(3)用法上的区别HiVeQL不支持行级别的增、改、删,所有数据在加载时就已经确定,不 可更改HiVeQL支持基本数据类型和复杂数据类型,而SQL只支持基本数据类型HiVeQL不支持事务支持分区存储【实训步骤】1.DDL操作1) DatabaSeDDL 操作创建数据库test默认对应的HDFS目录为:use7hiveWarehoUSe的文件夹,命名格式:数据 库名.dbcreate database test;HU使用声外一个终端查看到HDFS上创建了相应的文件荚如图5-14所7J Orootnaster conf# hdfs

5、 dfs -Is userhivewarehouse Found 1 itemsdrwxr-xrx - root SUPergroUP 222-11-9 14:CH userhiveWarehoUSe/test.db图5-14创建test.db数据库如果想要新建testl数据库,如果存在则不创建,不存在再创建可用下面命令:create database if not exists testl;爸籍三路径下创建数檄麾mydb:数据寇希厂create database test2 location VmyhiveZmydb;可以看到在指定的路径创建了数据强。如图5-15所示。rootnaster

6、conf# hdfs dfs -Is myhiveFound 1 itemsdrwxrxrx - root SUPerqrOUP 222119 14:03 myhivemydb图5-15创建mydb数据库创建数据屋并为数据匿添加描述信息:create database test3 comment ,my test dbwith dbproperties (creator*-lisi,date=2023-10-1,);止匕时,可叫 MySQL中查询所创建的数据库以及相关的描述信:息。如图5-16 所示。在MySQL中执色select * from DBS;select * from DATABA

7、SE_PARAMS;mysql select * from DBS;I DB_ID I DESC+I Db location uri12 3 4I Default Hive databaseI NULLI NULLi NULLIl my test dbI hdfs:/master:802userhivewarehouseI hdfs:/master:8020/user/hive/warehouse/test.dbI hdfs:/master:802userhivewarehousetestl.dbI hdfs: /master: 802。/InyhiVemydbI hdfs:/master:8

8、020/user7hive/warehouse/test3.db5 rows in set (0.0 sec) mysqlmysql select * from DATABASE_PARAMS;I DBID I PARAMKEY PARAMVALUE I 5 I creator IisiI 5 I date 2023-10-1 2 rows in set (,0 sec) mysql 图5-16查看所创建的数据库查询目前所有的数据库show databases;查询结果如图5-17所示。hive show databases;OKdefault I test testl test2 test3

9、 ITime taken; .233 seconds. Fetched: 5 rov(s)图5-17查询所有数据库查看以test开头的数据库(前面实训有提到)show databases like test*r;查询结果如图5-18所示。hive show databases like test*;OKtest Itestltest2IteSt31Time taken: .68 seconds, Fetched: 4 row(s)图5L8 test开头的数据库查看数据库的详细信息desc database test3;查询结果如图5-19所示。hive desc database test3;

10、OKtest3 my test dbhdfs:/master:802userhivewarehousetest3.db root USERTime taken: e.O45 seconds, Fetched: 1 row(s)图5-19test3数据库详细信息在上面的基础上如果想查看数据库更详细的信息,可以加个参数extendeddesc database extended test3; 查询结果如图5-20所示。hive desc database extended test3;OKtest3 my test db hdfs:/master:802userhivewarehousetest3

11、.db root USER date=223-10l, Creator=Iisi图5-20test3数据库更详细信息 切换数据库,如果不指定数据库,那么默认使用的就是default,现在我们使 用test3数据库use test3; 修改数据库的modifieralter database test3 set dbproperties (modifier-teacher shao,);执行结束后再重新查看详情,发现已经有相反的结果。desc database extended test3;效果如图5-21所示。hive alter database test3 set dbproperties

12、 (,modifier=,teacher shao); OK Time taken: ,94 secondshive desc database extended test3; OKtest3 my test dbhdfs:master:802userhive/WarehoUSetest3.db root USERdate=223-l-l, Creator=Iisi, modifier=teacher shao)Time taken: .38 seconds, Fete5 lrws)- hive I图5-21修改并查看modifier属性信息 删除数据岸test3drop database i

13、f exists test3;删除后续以及没者test3数据瓯 第果如图5-22所示。hive show databases like test*;OK test testl test2 TiIne taken: .27 seconds. Fetched: 3 row(s)图522删除test3数据库删除时如果报如下错误:InvalidOperationException(message:Database test3 is not empty. One or more tables exist.)如果数据库中有0或多个表时,不能直接删除,需要先删除表再删除数据库。如果想要删除含有表的数据库,在

14、删除时加上CaSCade,表示级联删除(慎用LLF以使用对下命令:drop database if exists test3 cascade;Table DDL 操作创建表use test2;create table emp(empno int,ename string, job string, mgr int, hiredate string, sal double, Comm double, deptno int )row format delimited fields terminated by ,;创建结果如图5-23所示。h ive use test2;|OKTime taken: 0.35 secondshiveIcreate table emp( empno int, ename string, job string, mgr int, hiredate string, sal double, comm double, Ideptno int row format delimited fields terminated by ,; OK Time taken: 0.119 seconds hive show tables;OKemplTimA taken: .34 seconds. Fetch

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服