-
1.创建分区表:create table partition_table(sid int,sname string) partitioned by (gender string) row format delimited fields terminated by ','; 2.插入数据:insert into table partition_table partition(gender='M') select sid,sname from sample_data where gender='M'; insert into table partition_table partition(gender='F') select sid,sname from sample_data where gender='F'; 注:分区表可提高查询效率。查看全部
-
1.create table t1(tid int,tname string, age int); --默认存储在 '/user/hive/warehouse' 2.指定存储目录:create table t2(tid int,tname string,age int) location '/mytable/hive/t2'; 3.指定分隔符:create table t1(tid int,tname string, age int) row format delimited fields terminated by ','; 4.使用查询语句创建新表:create table t4 as select * from sample_data; 5.查看t4表的文件:hdfs dfs -cat /user/hive/warehouse/t4/000000_0 6.create table t5 row format delimited fields terminated by ',' as select * from sample_data; 7.alter table t1 add columns(english int); 8.查看表结构:desc t1; 9.drop table t1;查看全部
-
内部表查看全部
-
1. 数组类型:create table student(sid int, sname string, grade array<float>); 插入数据:{1, Tom, [80, 90, 75]} 2. 集合类型:create table student1(sid int, sname string, grade map<string, float>); 插入数据:{1, Tom, <'大学语文', 85>} 3. create table student3(sid int, sname string, grades array<map<sring, float>>); 插入数据:{1, Tom, [<'大学语文',80>,<'大学英语',90>]} 4. 结构类型:create table student4(sid int,info struct<name:string,age:int,sex:string>); 插入数据:{1,{'Tom',10,'男'}}查看全部
-
复杂数据类型查看全部
-
按照老师的步骤,真是做不出来啊……create table test1(id int,tname string); 后面报个错 Specified key was too long; max key length is 767 bytes查看全部
-
进入HIVE静默模式:HIVE -S(不打印调试信息,只打印最后的结果) HIVE -e:不进入交互模式。 Hive -e 'show tables'; Hive -e 'select * from test1';查看全部
-
常用CLI命令3查看全部
-
常用CLI命令2查看全部
-
常用CLI命令查看全部
-
CLI(命令行方式)查看全部
-
Hive的启动方式查看全部
-
表,物理概念,数据库的数据存储在表中 视图是个虚表,是个逻辑概念,可以跨越多张表,操作方式和表完全一样 视图 建立在已有表的基础上,视图赖以建立的 这些表称为基表 视图 可以简化复杂的查询 比如两个表,部门表、员工表(外键的关系) 查询员工信息:跨越两个表 create view empinfo as select e.empno,e.name,e.sal*12 annlsal,d.dname -- 查询的信息需求 from emp e, dept d --表来源 where e.deptno=d.deptno -- 表的连接条件 对视图的操作 和 对表的操作完全一致 select * from empinfo; 最大的优点:简化了查询,相当于在表的上层进行了封装,并不存 数据。 假设在视图中能存数据,就可以提高查询效率的,MySQL支持但是hive中不支持。查看全部
-
桶表:对数据 进行hash运算后,打散后在不同文件中进行存储 降低系统热快 提高查询效率 create table bucket table (sid int, sanme string, age int) clustered by(sname) int 5 buckets; -- 以名字进行hash运算 放入5个桶表里面查看全部
-
外部表: 指向已经在hdfs中存在的数据,可以创建Partition 它和内部表在元数据的组织上是相同的,而实际数据的存储则又较大的差异 外部表 只有一个过程,加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立个链接。当删除一个外部表时,仅删除该链接。 HIVE仓库,创建外部表,只需要指明列的名字、类型就行,因为其存在外部,不需要知道其来源,但需要指明location,其指向hdfs中的数据。 HDFS文件系统,里面有 若干文件,保存了若干了表的数据 1.创建若干文件,放入hdfs中 2.建立外部表,指向创建的文件 create external table external_student (sid int, sname string, age int) row format delimited fields terminated by ',' // 列之间的分隔符 location '/input'; 这张表会指向创建的文件查看全部
举报
0/150
提交
取消