distributed by(使用greenplum建表语句建立分区与分布的时候 报错,应该怎么改求解!)

本文目录
- 使用greenplum建表语句建立分区与分布的时候 报错,应该怎么改求解!
- distribute by和group by的区别
- 英语distributed by Oracle Corporation怎么翻译
使用greenplum建表语句建立分区与分布的时候 报错,应该怎么改求解!
你需要指定分区的时间间隔,来作为数据库创建分区的依据,命令如下:
CREATE TABLE dnslog(userip varchar(20),request_domains varchar(255),datetime date,a_record varchar(20),rcode int2,dns_type int2,cname varchar(255),aaaa_record varchar(180),dns_server varchar(255),request_domains_owner varchar(255),dns_server_owner varchar(255))distributed by (userip,dns_server)PARTITION BY RANGE (datetime)
( START (date ’2008-01-01’) INCLUSIVE
END (date ’2016-01-01’) EXCLUSIVE
EVERY (INTERVAL ’1 year’) );
你可以根据你表中数据的最小值,确定分区开始的时间 ,INCLUSIVE 表示包含 “2008-01-01” 这天,根据具体的分区情况确定分区结束的时间,EXCLUSIVE 表示不包含“2016-01-01” ,具体情况根据你的数据来确定。
EVERY (INTERVAL ’1 year’) 表示分区的时间间隔可以是 ‘1 year’一年,‘1 month’ 一月,‘1 day’ 等。
在分区结束时间之后的分区,需要重新添加。或者做一个脚本自动生成之后的分区。
distribute by和group by的区别
hive
distribute
by
和group
by
的区别:
group
by是对检索结果的保留行进行单纯分组,一般总爱和聚合函数一块用例如avg(),count(),max(),main()等一块用。
distribute
by是控制在map端如何拆分数据给reduce端的。hive会根据distribute
by后面列,对应reduce的个数进行分发,默认是采用hash算法。sort
by为每个reduce产生一个排序文件。在有些情况下,你需要控制某个特定行应该到哪个reducer,这通常是为了进行后续的聚集操作。distribute
by刚好可以做这件事。因此,distribute
by经常和sort
by配合使用。
注:distribute
by和sort
by的使用场景
1.map输出的文件大小不均。
2.reduce输出文件大小不均。
3.小文件过多。
4.文件超大。
抛砖引玉,不足之处还望大神指正~
英语distributed by Oracle Corporation怎么翻译
英语 distributed by Oracle Corporation 翻译成中文意思是由甲骨文公司发行。例如,Badges were distributed by work units, given as prizes or traded. 徽章由工作单位进行分发,并作为奖品甚至进行买卖。

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




