news 2026/4/16 12:51:56

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/4/16 2:36:49

LeetDown降级工具终极指南:简单快速完成A6/A7设备系统降级

LeetDown降级工具终极指南:简单快速完成A6/A7设备系统降级 【免费下载链接】LeetDown a GUI macOS Downgrade Tool for A6 and A7 iDevices 项目地址: https://gitcode.com/gh_mirrors/le/LeetDown 想要为你的iPhone 5s、iPhone 6/6 Plus或iPad 4等设备降级系…

作者头像 李华
网站建设 2026/4/16 11:02:04

掌握这3种Dify附件ID验证方法,轻松抵御99%的非法访问

第一章:Dify附件ID安全机制概述在Dify平台中,附件ID作为访问用户上传资源的关键凭证,其安全性直接影响系统的数据保护能力。为防止未授权访问和ID预测攻击,Dify采用多层防护机制保障附件的私密性与完整性。安全生成策略 附件ID并非…

作者头像 李华
网站建设 2026/4/16 11:03:50

视频字幕时间轴精准对齐全攻略:告别错位烦恼的终极方案

还在为字幕与语音不同步而烦恼吗?🤔 精心制作的视频,却因为字幕时间轴错位而显得不够专业?作为内容创作者,精准的字幕对齐直接影响观众的观看体验和作品质感。本文将为你揭秘VideoCaptioner的智能对齐技术,…

作者头像 李华
网站建设 2026/4/11 10:01:37

视频处理神器:轻松获取抖音无水印素材的完整攻略

想要摆脱抖音水印的束缚,获取纯净的视频素材?这款视频处理工具正是你需要的解决方案!无论是内容创作者还是视频爱好者,都能通过这个高效工具实现批量下载、素材管理、无水印处理等核心功能。掌握这些技巧,让你的视频创…

作者头像 李华
网站建设 2026/4/16 13:10:02

Dify 1.11.1兼容性深度验证(从旧版本迁移必看的7大注意事项)

第一章:Dify 1.11.1 兼容性测试概述Dify 1.11.1 版本在发布前需经过严格的兼容性验证,以确保其在不同操作系统、数据库环境及依赖组件中稳定运行。兼容性测试覆盖主流运行时环境,包括 Python 版本、Web 服务器配置以及第三方服务集成能力。测…

作者头像 李华
网站建设 2026/4/16 12:57:24

Sigil终极指南:快速掌握电子书编辑与插件开发技巧

Sigil终极指南:快速掌握电子书编辑与插件开发技巧 【免费下载链接】Sigil Sigil is a multi-platform EPUB ebook editor 项目地址: https://gitcode.com/gh_mirrors/si/Sigil Sigil是一款强大的跨平台EPUB电子书编辑器,为电子书创作者提供了完整…

作者头像 李华