如何在 hive 中创建一个表,其中应包含从 2016 年 1 月 1 日到今天(2016 年 1 月 1 日到 2016 年 10 月 12 日)的所有日期?
该表只有一列,即日期列。
谢谢。
最佳答案
您可以自己生成此数据。
<小时/>进入 Hive shell 并执行:
CREATE TABLE tbl1 (col1 date)
hive 中日期类型的默认格式:YYYY-MM-DD。因此我们将生成这种格式的数据。
现在使用 shell script 生成数据。打开终端并启动:
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
........
现在返回到 hive shell 并启动:
load data local inpath '/tmp/test.csv' into table tbl1;
您的数据表已准备就绪。
关于hive - 在hive中创建日期表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40000079/