前言
不知道大家是否需要过这样的问题,自己有多台电脑,例如:一个在家,一个在公司。有的时候在家使用电脑时,需要用到公司电脑的文件,这个时候一般的做法是远程控制公司电脑,然后将文件拷贝过来。但是这样做有以下弊端:
- 想要远控公司电脑,必须保证公司电脑是开启且不休眠的状态。
- 对于小文件,少量文件这样做没有问题,但是对于大量小文件或者大文件而言,使用远程工具去拷贝对于网速的要求非常高,并且速度很慢。
查询语句语法
1 | SELECT [ALL | DISTINCT] select_expr, select_expr, ... |
书写次序和执行次序
顺序 | 书写次序 | 书写次序说明 | 执行次序 | 执行次序说明 |
---|---|---|---|---|
1 | select |
查询 | from |
先执行表与表直接的关系 |
2 | from |
先执行表与表直接的关系 | on |
|
3 | join on |
join |
||
4 | where |
where |
过滤 | |
5 | group by |
分组 | group by |
分组 |
6 | having |
分组后再过滤 | having |
分组后再过滤 |
7 | distribute by cluster by |
4个by | select |
查询 |
8 | sort by |
distinct |
去重 | |
9 | order by |
distribute by cluster by |
4个by | |
10 | limit |
限制输出的行数 | sort by |
|
11 | union/union all |
合并 | order by |
|
12 | limit |
限制输出的行数 | ||
13 | union /union all |
合并 |
在Hive
种数据类型分为两种:
Hive数据类型 | Java数据类型 | 长度 | 例子 |
---|---|---|---|
TINYINT |
byte |
1byte 有符号整数 |
20 |
SMALINT |
short |
2byte 有符号整数 |
20 |
INT | int |
4byte 有符号整数 |
20 |
BIGINT | long |
8byte 有符号整数 |
20 |
BOOLEAN |
boolean |
布尔类型,true 或者false |
TRUE FALSE |
FLOAT |
float |
单精度浮点数 | 3.14159 |
DOUBLE | double |
双精度浮点数 | 3.14159 |
STRING | string |
字符系列。可以指定字符集。 可以使用单引号或者双引号。 |
Hello world! |
TIMESTAMP |
时间类型 | ||
BINARY |
字节数组 |
对于
Hive
的String
类型相当于数据库的varchar
类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB
的字符数。
HA
(High Availablity
),即高可用(7 * 24
小时不中断服务)。HA
严格来说应该分成各个组件的HA
机制:HDFS
的HA
和YARN
的HA
。NameNode
主要在以下两个方面影响HDFS
集群NameNode
机器发生意外,如宕机,集群将无法使用,直到管理员重启。NameNode
机器需要升级,包括软件、硬件升级,此时集群也将无法使用。HDFS HA
功能通过配置多个NameNodes(Active/Standby)
实现在集群中对NameNode
的热备来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方式将NameNode
很快的切换到另外一台机器。