Hive 数据的导入与导出

@TOC数据导入load 加载数据load数据加载语法格式 []内为可选LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)


hive 创建分区表

创建分区表的好处是查询时,不用全表扫描,查询时只要指定分区,就可查询分区下面的数据。分区表可以是内部表,也可以是外部表。建表格式CREATE [EXTERNAL] TABLE par_test(col_name data_type ...)COMMENT 'This is the par_test


hive 桶表的使用

对于每一个表或者分区来说,可以进一步组织成 桶 ,其实就是更细粒度的数据范围。Bucket是对指定列进行 hash,然后根据hash值除以桶的个数进行求余,决定该条记录存放在哪个桶中。公式:whichBucket = hash(columnValue) % numberOfBuckets公式:要往哪


hive 表连接

@TOCHive Joinhive只支持等值连接,外连接。hive不支持非相等的join条件(通过其他方式实现,如left outer join),因为它很难在map/reduce job实现这样的条件。hive可以join两个以上的表。两表join建表导入数据-- 创建表test_aCREATE


hive Group操作

@TOCGROUPING SETS使用grouping sets是一种将多个group by 逻辑写在一个sql语句中的便利写法。--GROUP BY a, b 设置分组字段--GROUPING SETS ((a,b)) 分组方式SELECT a, b, SUM(c) FROM tab1 GROUP


Hive 分区表导入数据与动态分区

为分区导入数据(手动设置分区)insert overwrite table 表名 partition(分区字段='分区名') select……from 表名 where 分区字段 = '分区名';动态分区Hive默认是 静态分区,我们在插入数据的时候要手动设置分区,如果源数据量很大的时候,那么针对一