-
在查询中使用排序: select empno, ename, sal from emp order by sal; -- 默认升序 排序操作,是属于高级操作,都转换成MR操作 select empno, ename, sal from emp order by sal desc; --降序 order by 后跟内容:列、表达式、别名、序号 select empno, ename, sal, sal*12 from emp order by sal*12 desc; -- 年薪的表达式 select empno, ename, sal, sal*12 annsal from emp order by annsal; -- 别名 select empno, ename, sal, sal*12 from emp order by 4 desc; -- 4代表年薪sal*12 序号,但需要设置参数: set hive.groupby.orderby.position.alias=true;(使用序号的前提条件) select empno, ename, sal, comm from emp order by comm; ---null是如何排序的? 升序null排在前面,反之--查看全部
-
模糊查询 %:指任意个字符串 _:指任意一个字符 select empno,ename,sal from emp where ename like '%\\_%'; _下划线在HQL语句中有一个特殊的含义,表示任意字符,则当在字符串中使用它的时候需要转义\\_查看全部
-
不涉及排序,函数的简单查询使用Fetch Task功能查看全部
-
select distinct dept,job(组合输出为不同才认为是不同的)from emp;查看全部
-
NULL 如果一个表达式中有空值则整个表达式的值都是空值<br> nvl(comm,0);当奖金为null时将他转变为0<br> 判断一个值等于等于空值 不能使用== 使用 comm is null查看全部
-
Sqoop各种导入,导出 1. 2. 3. 4.查看全部
-
设置HADOOP_COMMON_HOME和HADOOP_MAPRED_HOME查看全部
-
hive中不支持单条insert插入数据的方式<br> 可以使用 load data local inpath '/root/data/student01.txt' into table t3 ; load data local inpath '/root/data/' overwrite into table t3 ; 将目录下所有的数据文件全部导入表中 create table partition_tab > (name string, > age int) > partitioned by (gender string); 建立一个分区表,把数据导入到分区表中 load data local inpath '/root/data/data1.txt' into table partition_table partition (gender='M') ;查看全部
-
hive函数类型查看全部
-
#hive --service hiveserver //启动hive远程服务,以便jdbc远程连接查看全部
-
Hive中的子查询 select e.ename from emp e where e.deptno in (select d.deptno from dept d where d.dname = 'SALES' or d.dname = 'ACCOUNTING'); *注意的问题: -语法中的括号 -Hive中只支持WHERE和FROM子句中的子查询 -主查询和子查询可以不是同一张表 -子查询中的空值问题 select * from emp e where e.empno not in (select e1.mgr from emp e1);--子集合中有空值就无法使用not in select * from emp e where e.empno not in (select e1.mgr from emp e1 where e1.mgr is not null);查看全部
-
Hive的表连接 *自连接:通过表的别名将同一张表视为多张表 select e.ename, b.ename from emp e, emp b where e.mgr = b.empno;查看全部
-
Hive的表连接 *外连接 select d.deptno, d.dname, cout(e.empno) from emp e, dept d where e.deptno = d.deptno group by d.deptno, d.dname; 通过外连接可以将对于连接条件不成立的记录仍然包含在最后的结果中 -左外连接 -右外连接 select d.deptno, d.dname, cout(e.empno) from emp e right outer join dept d on (e.deptno = d.deptno) group by d.deptno, d.dname;查看全部
-
Hive的表连接 *等值连接 select e.empno, e.ename, e.sal, d.dname from emp e, dept d where e.deptno = d.deptno; *不等值连接 select e.empno, e.ename, e.sal, s.grade from emp e, salgrade s where e.sal between s.losal and s.hisal; *外连接 *自连接查看全部
-
*聚合函数 -count -sum -min -max -avg select count(*), sum(sal), max(sal), min(sal), avg(sal) *表生成函数 -explode 将每个key-value数据都转换成一行 select explode(map(1,'tom',2,'mary',3,'mike'));查看全部
举报
0/150
提交
取消