Hadoop 如何在配置单元中生成日期序列?(创建表格)

Hadoop 如何在配置单元中生成日期序列?(创建表格),hadoop,hive,Hadoop,Hive,假设我当前有一个表,每个帐户有一行,表中的数据是: 帐号 开始日期 结束日期 现在,我想创建一个新表,该表在帐户打开的每一天有一行,即在每个帐户的开始日期和结束日期(含)之间的每一行有一天 例如 表1 Account Number Start Date End Date 123 1-Jan-17 1-Jul-17 456 1-Feb-17 4-May-17 表2(所需表格) 我知道在Postgresql中有

假设我当前有一个表,每个帐户有一行,表中的数据是:

  • 帐号
  • 开始日期
  • 结束日期
  • 现在,我想创建一个新表,该表在帐户打开的每一天有一行,即在每个帐户的开始日期和结束日期(含)之间的每一行有一天

    例如

    表1

    Account Number    Start Date    End Date
    123               1-Jan-17      1-Jul-17
    456               1-Feb-17      4-May-17
    
    表2(所需表格)

    我知道在Postgresql中有一个名为“generate series”的函数,它可以让您轻松地完成这项工作。我想知道在蜂箱中是否有类似的功能可以让你也这么做


    谢谢

    使用
    DATE
    数据类型存储日期,使用ISO格式
    YYYY-MM-DD
    作为日期工作表的文本表示形式,如charm。谢谢!:)@David•••ווMarkovitz感谢您的解决方案。我在寻找一个类似的结果,但不是日序列,而是月序列,在这个序列中,我应该得到每个月的一行和一个新列,该列生成每个月的结束日期。谢谢你的帮助。请为此打开一个新问题。如果几天内没有人回答,我会回答。
    select  t.AccountNumber
           ,date_add (t.StartDate,pe.i)   as Day
    
    from    Table1 t
            lateral view 
            posexplode(split(space(datediff(t.EndDate,t.StartDate)),' ')) pe as i,x
    
    select  t.AccountNumber
           ,date_add (t.StartDate,pe.i)   as Day
    
    from    Table1 t
            lateral view 
            posexplode(split(space(datediff(t.EndDate,t.StartDate)),' ')) pe as i,x