Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL.docx
《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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Hadoop生态系统及开发 实训手册 实训10 数据定义操作DDL Hadoop 生态系统 开发 手册 实训 10 数据 定义 操作 DDL