news 2026/8/11 7:04:08

Amazon Redshift SQL语句编写实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Amazon Redshift SQL语句编写实战指南

在这篇教程中,展示了如何在某中心Redshift中编写SQL语句。鉴于这个主题庞大而复杂,我们从基础开始。本教程将展示如何:

  • 使用查询编辑器
  • 使用 group by 聚合行
  • 将日期转换为年和月
  • 将结果导出到CSV文件

什么是某中心Redshift?
某中心Redshift是某机构网络服务云数据仓库,基于SQL。它旨在处理大型数据集和复杂查询。它非常适合数据仓库、商业智能、大数据分析、机器学习和提取-加载-转换工作流。

Redshift的组件包括以下内容:

  • 集群:是围绕一个领导节点组织的计算节点,用于管理连接和协调查询。
  • 切片:是节点的分区,用于为高效的大规模并行处理分配内存、处理和磁盘空间资源。
  • 数据分发方法:根据键值或跨所有节点均匀地将数据分配到节点。
  • 数据的列式存储:以垂直堆栈完成,以减少输入/输出(I/O)并实现更高效的存储。
  • 执行引擎:支持SQL查询,并规划获取和使用数据的最佳方式。
  • Spectrum:是一项某中心Redshift服务,使得无需将数据带入Redshift环境即可查询某中心S3中的数据。
  • 集成数据加载:使用各种某中心和第三方工具。
  • 备份和恢复:增加了弹性。
  • 安全控制身份和访问,提供日志记录以进行模式识别和漏洞利用后响应。
  • 维护和监控:是这项完全托管服务固有的特性,减轻了团队的持续管理负担。

Redshift查询编辑器
要打开查询编辑器,请从集群屏幕点击编辑器。然后,Redshift会要求提供凭据以连接到数据库。一个不错的功能是有一个生成临时凭据的选项,因此无需记住密码。只需登录到某中心AWS控制台即可。下面有一个集群,在将其置于暂停状态(以减少某中心计费费用)后正在恢复。

在此处编写SQL语句。一次只允许一条语句,因为Redshift一次只能显示一组结果。要编写多个语句,请单击加号(+)添加额外的选项卡。运行每个查询时,需要几秒钟时间,因为它会提交作业然后运行它。因此,它并非如您可能在其他产品中预期的那样即时。结果显示在底部,您可以在那里将其导出为CSV、TXT或HTML。还可以对结果进行图表化。

获取表模式
在本教程中,使用了一个天气数据表。(有关从S3加载数据到某中心Redshift的更多信息。)这是塞浦路斯帕福斯20年的天气数据。它有四列:

  • dt_iso
  • temp
  • temp_min
  • temp_max

dt_dso是时间戳类型,是主键。Redshift的一个优点是,几乎可以以任何想要的格式加载日期,Redshift都能理解。然后,Redshift提供to_char()函数来打印出所需的任何日期部分,例如小时、年、分钟等。要查看表模式,请查询pg_table_def表。

SELECT*FROMpg_table_defWHEREtablename='paphos'ANDschemaname='public';

模式如下。

schemaname,tablename,column,type,encoding,distkey,sortkey,notnull public,paphos,dt_iso,timestamp without time zone,none,t,1,t public,paphos,temp,real,none,f,0,f public,paphos,temp_min,real,none,f,0,f public,paphos,temp_max,real,none,f,0,f

聚合SQL语句
此查询计算夏季月份(5月至9月)的月平均温度。注意:

  • to_char() 提取所需的任何日期部分,例如YYYY年或MM月数字。
  • 使用 in() 语句来选择月份。
  • order 语句使用数字 1。这意味着使用查询返回的第一列。这是输入列名的替代方法。
  • 按年份和月份分组,因为要计算一年内月份的平均值[avg()]。
  • 使用 round() 函数四舍五入到两位小数。否则Redshift会给出太多小数位。
  • 与其他数据库一样,as 语句允许为计算产生的列提供别名。没有它,该列将没有描述性名称。这里将平均温度称为aveTemp。
selectround(avg(temp),2)asaveTemp,to_char(dt_iso,'YYYY')asyear,to_char(dt_iso,'MM')asmonthfrompaphoswheremonthin('05','06','07','08','09')groupbyyear,monthorderby1desc

结果如下。它显示了20年数据中最热的月份。为了使显示简短,已截断部分内容。例如,在这20年中,2010年8月是最热的月份。按年份然后月份分组,因为需要给定每日天气观测值的一年内的月份。

avetemp year month 84.11 2010 8 83.12 2012 8 83.05 2012 7 82.9 2015 8 82.39 2017 7 82.04 2014 8 81.85 2007 7 81.73 2020 9 81.72 2013 8 81.72 2008 8 81.62 2000 7 81.61 2009 8 81.49 2017 8

使用结果右侧的按钮将数据导出为CSV格式。然后将其导入到电子表格中,以便更轻松地查看结果并为其添加颜色等。

以下是最热的年份。通过从聚合中删除月份来获得。

selectround(avg(temp),2)asaveTemp,to_char(dt_iso,'YYYY')asyearfrompaphosgroupbyyearorderby1desc

额外资源
如需更多类似教程,请探索以下资源:

  • BMC机器学习与大数据博客
  • 某机构指南,包含15篇文章和教程
  • 如何将某中心S3数据导入Snowflake
  • 如何将某中心Glue连接到JDBC数据库
  • 某中心Braket量子计算:如何开始

这些文章仅代表个人观点,不一定代表BMC的立场、策略或意见。发现错误或有建议?请通过发送电子邮件至 blogs@bmc.com 告知。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/1 23:27:00

VMTK血管建模工具包:快速上手的终极完整指南

VMTK血管建模工具包:快速上手的终极完整指南 【免费下载链接】vmtk the Vascular Modeling Toolkit 项目地址: https://gitcode.com/gh_mirrors/vm/vmtk 想要轻松处理医学影像数据,生成精准的血管三维模型吗?VMTK血管建模工具包正是您…

作者头像 李华
网站建设 2026/8/11 5:45:22

LeetDown降级工具实战指南:A6/A7设备进阶降级教程

还在为老款iPhone卡顿而烦恼?LeetDown降级工具为你带来专业解决方案!这款专为macOS设计的图形化降级工具,让复杂的设备降级操作变得简单直观,即使是技术新手也能轻松掌握。🎯 【免费下载链接】LeetDown a GUI macOS Do…

作者头像 李华
网站建设 2026/7/29 22:38:15

魔法画笔:AI绘画风格迁移让你秒变艺术大师

魔法画笔:AI绘画风格迁移让你秒变艺术大师 【免费下载链接】stable-diffusion-webui-forge 项目地址: https://gitcode.com/GitHub_Trending/st/stable-diffusion-webui-forge 还在羡慕别人能轻松把普通照片变成梵高油画、赛博朋克风格的艺术作品吗&#xf…

作者头像 李华
网站建设 2026/7/29 1:11:53

游戏进度守护神:用Ludusavi打造你的游戏数据保险箱

🎮 数百小时的游戏心血,值得最专业的保护!想象一下,当你历经千辛万苦终于击败最终BOSS,却发现存档因系统故障而消失的绝望。这种游戏数据噩梦,现在有了完美的解决方案——Ludusavi,一个专门为游…

作者头像 李华
网站建设 2026/7/28 18:31:31

如何用AI视频脚本生成器实现惊人效率?ollama-python完整指南

如何用AI视频脚本生成器实现惊人效率?ollama-python完整指南 【免费下载链接】ollama-python 项目地址: https://gitcode.com/GitHub_Trending/ol/ollama-python 还在为视频创作熬夜写脚本?传统视频制作流程中,脚本创作往往是最耗费心…

作者头像 李华
网站建设 2026/7/30 9:40:24

Black Friday特惠:海外用户专享低价购AI语音生成额度

Black Friday特惠:海外用户专享低价购AI语音生成额度 在短视频、虚拟主播和有声内容爆发的今天,一个普遍被忽视的问题正在困扰着全球创作者:如何让AI生成的语音真正“贴合画面”? 不是音画不同步,就是情绪干瘪&#xf…

作者头像 李华