《Hadoop生态系统及开发 实训手册 实训11 数据操纵操作DML.docx》由会员分享,可在线阅读,更多相关《Hadoop生态系统及开发 实训手册 实训11 数据操纵操作DML.docx(8页珍藏版)》请在第一文库网上搜索。
1、实训5.3数据操纵操作DMLL实训目的通过本实训,理解内部表与外部表的概念,理解表数据加载的四种方式与区 别,理解DDL的概念以及实际操作。2 .实训内容本实训通过创建内部表与外部表,并对其进行删除,对比操作结果来理解内 部表与外部表的概念,并进行了其他的DML操作,最后操作数据加载与导出相 关的四种操作。3 .实训要求以小组为单元进行实训,每小组5人,小组自主协商选一位组长,由组长安 排和分配实训任务。4 .准备知识所需要具备的准备知识,主要是前面所学过的内容,此处一起回顾一下。 select fro* TBLS;二111ITBLJD ICREATE-TIME D-IO IASLACCESS
2、_TIME OMNER OWNER_TYPEI RETENTION SO-ID TBl-HAM I TBLjYPeVIEW EXPANDED TEXT I VIEW ORIGINAL TEXT I IS RDRITE ENABLED2 I1667974993 4 I root I USERI *2 IEPI HANAGEDeTABLENULLI NULLI xI3 I1667975416 4 I root I SERI I3 Iemp_bak HAHAGEOJABLENULLI NULLI xI7 I1667976776 4 I root I USERI I 7 Ieep3I HANAGED_
3、TABLENULLI NULLI OxOTI8 I1667976983 4 I root I USERI I8 Ip_copy I MANAGEDjABLENULLI NULLI x11 I1668047691 4 I root I USERI I 11 IeBp-anaged KANAGED_TABLENULLI NULLI x15 rows in set (. sec)图535查询TBLS)切换回堂_hive的终端,删除表empjnanageddrop table if exists emp_managed;show tables;发现emp_managed表已经被删除,结果如图5-36所
4、示。hive show tables;OKempemp3empbakempcopyTime taken: .29 seconds. Fetched: 4 row(s)图5-36查看表结果_样,隹MySQL中是已经看不到emp_managed表相关的数据了。执年语句&select * from TBLS;此时,查看HDFS上myhivemydb目录下的数据hdfs dfs -Is myhivemydb发现数据也白经被删除,操作结果如图5-37所示。rOOtgmaster-30405-30406-30407-h81vlhadoop fs -Is ZmyhiveZmydbFound 3 items
5、drwxr-xr-x-rctsupergroup02l8-l-1915:02myhivemydbempdrwxr-xr-x-rootsupergroup02l8-l-1915:05yhivemydbemp3drwxr-xr-x-rootsupergroup02018-10-1915:47/Biyhive/mydb/emp_copy图5-37查看数据是否删除由此可知,Hive中的内部表被删除时,MySQL中HiVe的元数据也被删除, 内部表所对应HDFS中的数据也会被删除。(2)外部表创建外部表create external table emp_extemal( empno int, ename
6、 string, job string, mgr int, hiredate string, sal double, comm double, deptno int )row format delimited fields terminated by ,location hive-externalemp;查看HiVe的元数据倍亮(实训5.2中已配置在MySQL中) 切换到堂晏MySQL的终端,查询:select * from TBLS;可以者到emp.external的表奚泡为夕卜部表。如图5-38所示。IIySqIA select free TBLSA I TBLID I CREATE TI
7、ME DB ID LAST ACCESS TIHE OWNER OWNER-TYPE RETENTION SD-ID AwED_TEXT I VIEWJ)RIGINALjExT ISeREVRITE_ENABLED- -I IBL_TYPEI VIEW_EXFI2I16679749934rootUSER2INULLIOxII3I16679754164rootUSER3INULLI0xII7I16679767764rootUSER7INULLIxII8I16679769834OrootUSERG8INULLIxII12I1668484674OrootUSERO12INULLIxIp ep-bok
8、 cp3 copy eexternalI MANAGEDJABLE NULL I MANAGED_TABLE NULL I HAMAGEDJABIE NULL I HANAGEDjABIE NULL I IExTERNAL_TABLE 11 NULL5 (ts in set (. sec)图5-38查看emp_external表类型只切换终端,上传数据到emp_external所指定的HDFS文件夹中hdfs dfis -put rootdatasemp.txt hive-externalemp地沏换回堂茎了 Hive的终端,查看emp_external表数据select * from emp
9、_external;发现emp external袤已经有数据了。如图5-39所示。hive select * from empexternal; DK7369 SMITH CLERK 7921980-12-178,7499 ALLEN SALESMAN76981981-2-27521 WARD SALESMAN76981981-2-227566 JONES MANAGER 78391981-4-22975.07654 MARTIN SALESMAN76981981-9-287698 BLAKE MANAGER 78391981-5-1285.7782 CLARK MANAGER 7839198
10、1-6-92450.7788 SCOTT ANALYST 75661987-4-19300.7839 KING PRESIDENTNULL 5.00 1.07844 TURNER SALESMAN76981981-9-287876 ADAMS CLERK 77881987-5-23110.079 JAMES CLERK 76981981-12-395.792 FORD ANALYST 75661981-12-33O0.7934 MILLER CLERK 77821982-1-2313.8888 HIVE PROGRAM 78391988-1-23130.OTime taken: 0.26 seconds. Fetched: 15 row(s)2016020OOU50O0U 21312 NI 2321 NOOOLNULL 3, 50. NULL 1400.0 NULL NULL NULL NULL , NULL NULL NULL NULL NULL3303030图5-39查看emp_external表数据删除表emp externaldrop table if exists emp_external;重新查看表是否在HDFS中 show tables;操作结果如图5-40所示。hive IdroP