Hive 在配置单元中创建日期表

Hive 在配置单元中创建日期表,hive,calendar,hiveql,date-range,Hive,Calendar,Hiveql,Date Range,如何在hive中创建一个表,该表应包含从2016年1月1日到今天(2016年1月1日至2016年10月12日)的所有日期 该表只有一列,即日期列 谢谢。您可以从 将Excel另存为csv,放入HDFS,在其上创建一个外部表 我建议您创建date_dim并保留其中的所有列。日期维度应在仓库中。您可以只选择日期列或创建包含必要列的视图 您还可以在配置单元中生成日期范围,请参见以下答案:您可以自己生成此数据 转到配置单元外壳并执行: CREATE TABLE tbl1 (col1 date) 配置

如何在hive中创建一个表,该表应包含从2016年1月1日到今天(2016年1月1日至2016年10月12日)的所有日期

该表只有一列,即日期列


谢谢。

您可以从

将Excel另存为csv,放入HDFS,在其上创建一个外部表

我建议您创建date_dim并保留其中的所有列。日期维度应在仓库中。您可以只选择日期列或创建包含必要列的视图


您还可以在配置单元中生成日期范围,请参见以下答案:

您可以自己生成此数据


转到配置单元外壳并执行:

CREATE TABLE tbl1 (col1 date)
配置单元中日期类型的默认格式:YYYY-MM-DD。因此,我们将以这种格式生成数据

现在使用生成数据。开放式航站楼和火灾:

load data local inpath '/tmp/test.csv' into table tbl1;
gedit/tmp/test.sh

复制此代码:

#!/bin/bash
DATE=2016-01-01
for i in {0..285}
do
   NEXT_DATE=$(date +%Y-%m-%d -d "$DATE + $i day")
   echo "$NEXT_DATE"
done
默认情况下,您没有执行权限,请使用:

chmod 777 /tmp/test.sh 
现在开火:

/tmp/test.sh >/tmp/test.csv
您在
test.csv中获得了数据

2016-01-01
2016-01-02
2016-01-03
2016-01-04
........
现在回到蜂巢壳和火:

load data local inpath '/tmp/test.csv' into table tbl1;

您的数据表已准备就绪。

配置单元中生成日期表的可能重复项:stackoverflow.com/a/55440454/2700344它可作为查找表用于检查有效日期。Nice@vikrantrana还可以生成日历: