zoukankan      html  css  js  c++  java
  • hive列转行

    一、问题

    hive如何将

    a       b       1
    a       b       2
    a       b       3
    c       d       4
    c       d       5
    c       d       6

    变为:

    a       b       1,2,3
    c       d       4,5,6

    二、数据

     test.txt

    cat column_row.txt
    a,b,1 
    a,b,2 
    a,b,3 
    c,d,4 
    c,d,5 
    c,d,6

    三、答案

    1. 建表

    create table tmp.column_row
    (
      col1 string,
      col2 string,
      col3 string
    )
    row format delimited fields terminated by ','
    stored as textfile;

    2. 载入数据

    load data local inpath '/tmp/column_row.txt' into table tmp.column_row;

    3. 处理

    select col1,col2,concat_ws(',',collect_set(col3)) 
    from tmp.column_row
    group by col1,col2;

    结果是:

    a       b       2 ,3 ,1 
    c       d       6,4 ,5 
  • 相关阅读:
    Django01
    WEB框架介绍
    前端插件介绍
    JQuery
    DOM
    js
    css
    HTML
    图片懒加载
    js中style,currentStyle和getComputedStyle的区别
  • 原文地址:https://www.cnblogs.com/liqiu/p/4374238.html
Copyright © 2011-2022 走看看