hive - 在hive中创建日期表

标签 hive calendar hiveql date-range

如何在 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/

相关文章:

sql - 在hive窗口中,如果CURRENT ROW的值小于UNBOUNDED PRECEDING的值会发生什么

hadoop - Hive 中异常的日期时间字符串解析

database - hive 或 sqflite 是否适合在 flutter 中处理大量数据

javascript - FullCalendar - 阻止拖放新事件创建

python - 合并年和周列以在 python 中创建日期时间和排序

iphone - 无法获取日历标题

apache - 无法执行配置单元脚本

unit-testing - 使用Zookeeper在hadoop minicluster中负载均衡hiveserver2

hadoop - 如何使用当前时间戳作为 Hive 输出的文件名

java - 在 hive-site.xml 中查找 _HOST 的值