hive sql编写程序的时候hive分区跑没了,哪位能指导下

hive sql编写程序的时候hive分区跑没了,哪位能指导下

img

img

img

img

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7683487
  • 这篇博客你也可以参考下:hive SQL 创建数据库,创建hive表、查询时,其表名,字段,统统不区分大写(在底层一律转换为小写)
  • 除此之外, 这篇博客: hive之使用sql进行增量结合历史数据分析中的 2.hive sql的统计分析 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 创建月度点击统计表
    CREATE  TABLE use_click_month(
    use_name string,
    date_month string,
    count int
    )row format delimited fields terminated by ',';
    
    • 加载数据
    LOAD DATA LOCAL INPATH '/home/hadoop/data/click/click.log' OVERWRITE INTO TABLE use_click_month ;
    
    • 方法一:使用开窗函数进行数据分析
    select use_name,date_month,count,
    max(count) over(partition by use_name order by date_month) as maxcount,
    sum(count) over(partition by use_name order by date_month) as sumcount
    from use_click_month;
    # 执行结果
    A	201807	19	19	19
    A	201808	13	19	32
    A	201809	15	19	47
    A	201810	34	34	81
    A	201811	40	40	121
    A	201812	39	40	160
    B	201807	12	12	12
    B	201808	45	45	57
    B	201809	68	68	125
    B	201810	19	68	144
    B	201811	22	68	166
    B	201812	35	68	201
    C	201807	11	11	11
    C	201808	12	12	23
    C	201809	16	16	39
    C	201810	19	19	58
    C	201811	19	19	77
    C	201812	9	19	86
    D	201807	13	13	13
    D	201808	9	13	22
    D	201809	18	18	40
    D	201810	26	26	66
    D	201811	24	26	90
    D	201812	20	26	110
    E	201807	7	7	7
    E	201808	8	8	15
    E	201809	9	9	24
    E	201810	3	9	27
    E	201811	100	100	127
    E	201812	50	100	177
    
    • 方法二:使用join进行数据分析
    select t.a_name,t.a_date_month,t.a_count,max(b_count),sum(b_count)
    from (
    select a.use_name as a_name,a.date_month a_date_month,a.count a_count,
    b.use_name as b_name,b.date_month b_date_month,b.count b_count
    from use_click_month a join use_click_month b
    where a.use_name=b.use_name and b.date_month <= a.date_month ) t
    group by t.a_name,t.a_date_month,t.a_count order by  t.a_name,t.a_date_month asc;
    #执行结果
    A	201807	19	19	19
    A	201808	13	19	32
    A	201809	15	19	47
    A	201810	34	34	81
    A	201811	40	40	121
    A	201812	39	40	160
    B	201807	12	12	12
    B	201808	45	45	57
    B	201809	68	68	125
    B	201810	19	68	144
    B	201811	22	68	166
    B	201812	35	68	201
    C	201807	11	11	11
    C	201808	12	12	23
    C	201809	16	16	39
    C	201810	19	19	58
    C	201811	19	19	77
    C	201812	9	19	86
    D	201807	13	13	13
    D	201808	9	13	22
    D	201809	18	18	40
    D	201810	26	26	66
    D	201811	24	26	90
    D	201812	20	26	110
    E	201807	7	7	7
    E	201808	8	8	15
    E	201809	9	9	24
    E	201810	3	9	27
    E	201811	100	100	127
    E	201812	50	100	177
    

    注意:生产上更倾向使用 join ,尽量避免使用开窗函数进行数据分析,因为开窗函数并不能很好的去控制数据shuffle过程中导致数据倾斜的问题

  • 您还可以看一下 CSDN就业班老师的第六章:Hive数据仓库技术课程中的 Hive微博分析大数据平台数据仓库设计03小节, 巩固相关知识点