1. 查看hive版本号:
hive --version --------> 1.2.1
2. GROUP BY
可以通过字段所在的位置进行groupby:对于1.2.1版本:
SET hive.groupby.orderby.position.alias = true;
没有hive-287的版本,只能使用COUNT(1)替代COUNT(*),否则一样
3. LEFT SEMI JOIN
只保留左表中的值,相当于以右表为基准对左表进行筛选
4.数据类型
hive | mysql |
string | varchar |
int | int |
5. 建表及分区
hive可以建立分区表,mysql不需要。hive采用HDFS存储,不能建立索引,mysql可以建立索引加快查询。不同机制原理,浅浅了解下。
CREATE TABLE table_name (
col_name datatype,
...
)COMMENT ‘some_description’
PARTITION BY(col_name datatype)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’;
内部表及外部表
LOAD DATA [LOCAL] INPATH 'filepath'
INSERT [OVERWRITE] INTO TABLE tablename
[PARTITION (partcol1=val1, partcol2=val2 ...)]
SELECT statement
INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
LOAD DATA [LOCAL] INPATH 'filepath'
INSERT [OVERWRITE] INTO TABLE tablename
[PARTITION (partcol1=val1, partcol2=val2 ...)]
SELECT statement
INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]