Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 基于字段的第一个字符划分配置单元_Database_Hive - Fatal编程技术网

Database 基于字段的第一个字符划分配置单元

Database 基于字段的第一个字符划分配置单元,database,hive,Database,Hive,我希望将数据存储到配置单元中,以便在pas月份(每天约100GB)运行分析 “我的行”包含一个日期(字符串)字段,如下所示:2016-03-06T04:31:59.933012793+08:00 我想基于这个字段进行分区,但只基于日期(2016-03-06)——我不关心时区。有没有办法在不改变原始格式的情况下实现这一点 分区的原因是性能和删除旧数据的能力,以便有一个滚动的数据窗口 谢谢您可以通过使用动态分区插入覆盖表来实现这一点 您可以在日期时间列上应用子字符串或regexp_extract函数

我希望将数据存储到配置单元中,以便在pas月份(每天约100GB)运行分析

“我的行”包含一个日期(字符串)字段,如下所示:2016-03-06T04:31:59.933012793+08:00

我想基于这个字段进行分区,但只基于日期(2016-03-06)——我不关心时区。有没有办法在不改变原始格式的情况下实现这一点

分区的原因是性能和删除旧数据的能力,以便有一个滚动的数据窗口


谢谢

您可以通过使用动态分区插入覆盖表来实现这一点

您可以在日期时间列上应用子字符串或regexp_extract函数,并以所需格式获取值。 下面是我的示例查询,通过在分区列上应用函数来加载分区表

CREATE TABLE base2(id int, name String)
PARTITIONED BY (state string);

INSERT OVERWRITE TABLE base2 PARTITION (state)
SELECT id, name, substring(state,0,1)
这里我对分区列应用一些转换。希望这有帮助。
从基地出发

为什么要将日期存储为字符串而不是本机数据类型?因为时间值,据我所知,hive中没有DATETIME字段。确实,您通常会使用
时间戳