摘要: 对于Table或者Partition,Hive可以进一步组织成桶,也就是说桶Bucket是更为细粒度的数据范围划分。Bucket是对指定列进行hash,然后根据hash值除以桶的个数进行求余,决定该条记录存放在哪个桶中。优点①:获得更高的查询处理效率。桶为表加上了额外的结构,Hive在处理有些查询时... 阅读全文
posted @ 2015-08-17 21:35 skyl夜 阅读(1069) 评论(0) 推荐(0) 编辑
摘要: Hive中的视图是只读的,所以无法通过视图向基表(basetable)加载或插入数据。视图的SELECT语句只在执行引用视图的语句时才执行。对于上节用于查询每年各个气象站气温最大值的均值的HQL语句,可以先创建一个记录有效记录(即有特定quality值)的视图:CREATE VIEW valid_r... 阅读全文
posted @ 2015-08-17 18:55 skyl夜 阅读(1754) 评论(0) 推荐(0) 编辑
摘要: Hive的Explain命令,用于显示SQL查询的执行计划。Hive查询被转化成序列阶段(这是一个有向无环图)。这些阶段可能是mapper/reducer阶段,或者是Metastore或文件系统的操作,如移动和重命名的阶段。例子hive> explain [extended] --加上关键字exte... 阅读全文
posted @ 2015-08-17 18:52 skyl夜 阅读(8376) 评论(0) 推荐(2) 编辑
摘要: Select a.val,b.val From a [Left|Right|Full Outer] Join b On (a.key==b.key);现有两张表:sales列出了人名及其所购商品的ID;things列出商品的ID和名称:hive> select * from sales;OKJoe ... 阅读全文
posted @ 2015-08-17 18:23 skyl夜 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 在hive查询中有【两种】情况是不执行MR的。1). Limit关键字限制查询的记录数,结果是随机的。下面的查询语句从Student 表中随机查询5条记录:hive> select * from student limit 5;2). 基于分区的查询。【其中,date是分区字段】hive> sele... 阅读全文
posted @ 2015-08-17 16:08 skyl夜 阅读(3738) 评论(0) 推荐(0) 编辑
摘要: 1.导入数据除了前面使用LoadData方式把文件复制或移动到表的目录外,还有以下几种方式:1).Insert Overwrite / Into Tablehive> insert overwrite table school > select age,name from stude... 阅读全文
posted @ 2015-08-17 15:44 skyl夜 阅读(811) 评论(0) 推荐(0) 编辑
摘要: 1.查看创建表的信息 【show create table】hive> show create table student;OKcreatetab_stmtCREATE TABLE `student`( `age` int, `name` string)ROW FORMAT DELIMITE... 阅读全文
posted @ 2015-08-17 14:49 skyl夜 阅读(11030) 评论(0) 推荐(1) 编辑
摘要: //五种子句是有严格顺序的:where → group by → having → order by → limit//where和having的区别://where是先过滤再分组(对原始数据过滤),where限定聚合函数hive> select count(*),age from tea wher... 阅读全文
posted @ 2015-08-17 14:21 skyl夜 阅读(6185) 评论(0) 推荐(0) 编辑
摘要: 1.分区表分区实质:在数据表文件夹下再次创建分区文件夹 分区在创建表时用Partitioned By定义,创建表后可以使用Alter Table语句来增加或移除分区。create table logs (ts bigint,line string) partitioned by (dt strin... 阅读全文
posted @ 2015-08-17 12:36 skyl夜 阅读(1105) 评论(0) 推荐(0) 编辑
摘要: 1.内部表内部表Load数据有两种方式:① Load data ***;②hdfs dfs -put ****。这是因为在Metastore文件,即mysql的hive数据库的“SDS”表中,保存着Hive表对应的hdfs路径信息。内部表在Load数据时,如果使用LOCAL关键字,Hive会把本地文... 阅读全文
posted @ 2015-08-17 12:01 skyl夜 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 1.hive常用的数据类型包括:2.类型转换 隐式转换规则:任何整数类型都可以隐式转换为一个范围更广的类型。所有整数类型+float+String都可以转换为Double类型。 可以使用cast操作进行数据类型显示转换。例如cast('1'asint)把字符串'1'转换成整数值1,转换失败则表达... 阅读全文
posted @ 2015-08-17 11:31 skyl夜 阅读(2478) 评论(0) 推荐(0) 编辑
摘要: 1.Hive非交互模式常用命令: 1)hive-e:从命令行执行指定的HQL,不需要分号:% hive -e 'select * from dummy' > a.txt 2)hive–f:执行HQL脚本% hive -f /home/my/hive-script.sql --hive-scri... 阅读全文
posted @ 2015-08-17 11:23 skyl夜 阅读(22756) 评论(0) 推荐(1) 编辑
摘要: Hive组织数据包含四种层次:DataBase -->Table -->Partition -->Bucket,对应在HDFS上都是文件夹形式。数据库和数据仓库的区别:1). 数据库内数据是动态变化的,而数据仓库内数据是静态的,是用来存储数据的(一次写入多次读取)2). 数据库中的数据结构比较复杂,... 阅读全文
posted @ 2015-08-17 11:10 skyl夜 阅读(735) 评论(0) 推荐(0) 编辑
摘要: yum install mysql-serverLinux环境下直接使用RPM包安装mysql,会报冲突错误。1.这时候先使用命令 "rpm -qa | grep mysql" 查询出和mysql相关的RPM包。2.然后使用命令 "rpm -e *-mysql-*" (-e代表擦除)删除自带的RPM... 阅读全文
posted @ 2015-08-17 11:04 skyl夜 阅读(232) 评论(0) 推荐(0) 编辑
摘要: Hive只需在使用节点安装即可。1.上传tar包、解压 tar -zxvf apache-hive-0.13.0-bin.tar.gz -C /hadoop/ 配置HIVE_HOME环境变量 /etc/profile2.安装mysql rpm -qa | grep mysql rpm -e ... 阅读全文
posted @ 2015-08-17 10:58 skyl夜 阅读(481) 评论(0) 推荐(0) 编辑