hive

作者: 阿昀姑娘在南方 | 来源:发表于2018-08-23 17:54 被阅读0次

    1.hive分区:分区是以字段的形式在表结构中存在,通过describe table命令可以查看到字段存在,但是该字段不存放实际的数据内容,仅仅是分区的表示。

    分区建表分为2种,一种是单分区,也就是说在表文件夹目录下只有一级文件夹目录。另外一种是多分区,表文件夹下出现多文件夹嵌套模式。

    a、单分区建表语句:create table day_table (id int, content string) partitioned by (dt string);单分区表,按天分区,在表结构中存在id,content,dt三列。

    b、双分区建表语句:create table day_hour_table (id int, content string) partitioned by (dt string, hour string);双分区表,按天和小时分区,在表结构中新增加了dt和hour两列。

    2.

    concat是将字符串连接起来,相当于python中的join;

    concat_ws(合并时的分隔符,合并id,name........)

    collect_set(字段):根据某个字段分组后,把分在一组的数据合并在一起,默认分隔符','

    注意:注意只限同列基本数据类型,函数只能接受一列参数;---------列转行

    它的主要作用是将某字段的值进行去重汇总,产生array类型字段。

    explode(array)函数接受array类型的参数,其作用恰好与collect_set相反,实现将array类型数据--------行转列

    eg:

    select no,collect_set(score) from tablss group by no;

    select no,collect_set(score) from tablaa lateral view explode(score_set) xxx as score group by no;

    相关文章

      网友评论

          本文标题:hive

          本文链接:https://www.haomeiwen.com/subject/uwpmiftx.html