-
*桶表 桶表通过哈希运算,把运算出的相同哈希值放在一起,以减少热块 create table bucket_table (name string,age int) clustered by(name)into 5 buckets; --五个桶查看全部
-
*外部表(External Table) -指向已经在HDFS中存在的数据,可以创建Partition -它和内部表在元数据的组织上是相同的,而实际数据的存储则又较大的差异 -外部表 只有一个过程,加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立一个链接。当删除一个外部表时,仅删除该链接。 *创建外部表 dfs -put student01.txt /input dfs -put student02.txt /input dfs -put student03.txt /input create external table external_student (sid int, sname string, age int) row format delimited fields terminated by ',' location '/input';--数据源的HDFS文件目录查看全部
-
* 分区表 create table partition_table(sid int ,sname string) partitioned by(gender string) row format delimited fields termimated by ','; insert into table partition_table partition(gender='M') select sid,sname from t1 where gender ='M'; insert into table partition_table partition(gender='F') select sid,sname from t1 where gender ='F'; 执行计划: explain select * from table查看全部
-
*内部表(Table) -在HDFS上某个目录存储所有表数据(不包括External Table) -删除表时,元数据与数据都会被删除 -------------------------------------------------- create table t1(tid int, tname string, age int); --1.保存在默认文件夹 create table t2(tid int, tname string, age int) location '/mytable/hive/t2'; --2.指定保存位置 create table t3(tid int, tname string, age int) row format delimited fields terminated by ','; --3.指明列分隔符 create table t4 as select * from sample_data; --4.通过查询来创建有数据的内部表 create table t5 row format delimited fields terminated by ',' as select * from sample_data; --alter table t1 add columns(english int); drop table t1;查看全部
-
Hive默认采用Tab作为列分割符,可以是任意分割符 --Table内部表 --Partition 分区表 --External Table 外部表 --Bucket Table桶表查看全部
-
*Hive的时间类型 -Date:日期,年月日,YYYY-MM-DD格式 -Timestamp:时间戳,长整形数格式查看全部
-
复杂数据类型: 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,'男'}}查看全部
-
基本数据类型 整数类型 tinyint smallint int bigint 浮点数类型 float、double 布尔类型 boolean string 字符串类型 * Hive 0.13版本后支持类似关系型数据中的, VARCHAR, CHAR类型数据.查看全部
-
hive的web管理界面的开启: 启动web管理服务hive --service hwi 编译war包:src/hwi jar cvfM0 hive-hwi-0.13.0.war -C web/ . 拷贝到hive的lib目录下 修改hive-site.xml cp jdk/lib/tools.jar hive/lib/查看全部
-
常用命令: 1. 查看HDFS上的文件 - dfs -ls /usr 2. 执行操作系统命令 -! 命令 *静默模式(无log显示) hive -S -e 'source /home/hadoop/my1.sql' 执行HQL: hive -e 'HQL语句' CLI下可以source SQL文件 执行查看全部
-
hive的体系结构查看全部
-
SQL解析引擎:解释器---编译器----优化器 执行计划: explain plan for select * from emp where deptno10 查询执行计划(oracle中) select * from table(dbms_xplan.display) ==> dbms_xplan.display 固定写法! 全表扫描的效率会很低 基于员工表的部门号,创建索引 create index myindex on emp(deptno) 在查询的列上创建索引,效率会高,然后再重新生成执行计划: explain plan for select * from emp where deptno10 再重新查看执行计划: select * from table(dbms_xplan.display)查看全部
-
Hive的元数据: 关于“表”本身的信息,例如表的属性,存放位置,表的ID等等 这些信息存放在metastore中(而不是Hive中),而metastore是一种数据库,他支持mysql,orracl,derby等,Hive默认存放在derby数据库中。 本质: 元数据保存了表的信息和列的信息(表ID,列ID与表ID关联)查看全部
-
Hive: Hive是建立在Hadoop HDFS上的数据仓库基础架构 Hive可以用来进行数据提取转化加载(ETL) Hive定义了简单的类似SQL查询语言,称为HQL它允许熟悉SQL的用户查询数据 Hive允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作查看全部
-
数据仓库是面向主题的、集成的(对数据进行了抽取的集合)、不可更新的、不随时间变化的数据集合,主要用于企业或公司决策和分析查看全部
举报
0/150
提交
取消