假设我目前有一个表,每个帐户有1行,表中的数据是:
现在我想创建一个新表,每个帐户打开一天有1行,即每个帐户的开始和结束日期(包括)之间每行1天.
例如
表格1
Account Number Start Date End Date
123 1-Jan-17 1-Jul-17
456 1-Feb-17 4-May-17
Run Code Online (Sandbox Code Playgroud)
表2(所需表)
Account Number Day
123 1-Jan-17
123 1-Jan-17
...
123 1-Jul-17
456 1-Feb-17
456 2-Feb-17
...
456 4-May-17
Run Code Online (Sandbox Code Playgroud)
我知道在Postgresql中有一个叫做"生成系列"的函数可以让你轻松完成.我想知道HIVE中是否有类似的功能可以让你这样做?
谢谢!
Dav*_*itz 21
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5779 次 |
| 最近记录: |