摘要:本文介绍如何快速创建一个低成本的、工作在VPC内网的OpenSearch单节点集群,并允许Master用户密码身份验证,然后测试上传文档和搜索,并分别在VPC内网的EC2 Windows和开发者本机用Session Manager转发方式访问Kibana。
Continue reading “创建低成本的工作在VPC内网的OpenSearch单节点并配置用户名密码身份验证”Category: Analytics
Analytics, EMR, Athena, Glue, and etc.
使用Athena分析在S3上的WAF Log
一、背景
在使用WAF保护业务系统的过程中,经常需要查询历史日志,分析特定防护对象的防护效果,查看拦截的请求,或查看访问特定URL的防护效果。这时候就需要用到WAF日志功能。
AWS WAF支持将日志输出到CloudWatch Log Groups,Kinesis,以及S3。将日志输出到CloudWatch Log Groups使用方便,但是存储成本高;将日志输出到Kinesis后可连接多种投递方式,灵活且延迟低,但技术架构稍微复杂。将WAF日志存储到S3数据湖,可实现最低低成本储存日志,通过Athena可快速方便查询。
Continue reading “使用Athena分析在S3上的WAF Log”在Redshift上使用comment语句
一、背景
Redshift是用于大量数据分析的列式数据仓库。Redshift并不支持所有PostgreSQL的语法。
关于Redshift支持的的限制,可参考这里 Unsupported PostgreSQL functions 的文档。
在这篇文章中,明确提到Comment information functions
是不被支持的。
不过,在Redshift上可使用comment
命令来为数据库的表、列添加注释。
Redshift 跨库查询使用方法
一、背景
Redshift默认会创建名为dev
的数据库,在其中又包含名为public
的schema,然后用户在其中创建表和视图。如果希望在同一个Redshift集群内同时创建多个数据库,并且进行跨数据库访问,那么可参照本文的方法。
注:本功能仅支持RA3机型,老的dc2/ds2机型上不支持。
Continue reading “Redshift 跨库查询使用方法”Kinesis入门之三部曲系列
之前很多同学觉得Kinesis比较复杂,这里做一系列入门实验,方便快速采纳服务。点击每个标题后的连接跳转到对应文档。
场景1:KDF准实时流式入湖(1分钟级)+ 低频查询
使用Kinesis Data Firehose将数据导入S3数据湖,设置分区键,并转换为Parquet列格式。通过Athena可以极低的开销做低频查询。本方案成本低效果好,对现有系统不侵入,可作为现有大数据分析手段的补充。点击跳转:文档,视频。
场景2:KDF准实时流式入仓(1分钟级)+ 高频查询
使用Kinesis Data Firehose将原始数据以GZIP压缩方式在S3落盘,并按照60秒的间隔自动加载到数Redshift数据仓库。Redshift为MPP架构分布式数仓,支持通过JDBC方式调用,满足BI系统多并发的高频查询要求。点击跳转:文档。
场景3:KDS实时流式入仓(秒级)+ 高频查询
使用Kinesis Data Stream将原始数据放在Kinesis流中,可使用多种消费方式包括KDA(托管Flink)、Redshift等方式消费。本方案采用Redshift的物化视图方式对Kinesis数据流进行消费,并通过自动刷新物化视图实现秒级的延迟。Redshift可满足BI系统多并发的高频查询要求。点击跳转:文档。
Redshift Realtime Ingress 实时数据摄入之Kinesis Data Stream方案
一、背景
Redshift实时数据摄取功能是面向需要实时数据分析客户、对报表低延迟要求极高的客户的最佳选择之一。与使用Data Firehose相比,延迟从1分钟到1分半提升到秒级。
Continue reading “Redshift Realtime Ingress 实时数据摄入之Kinesis Data Stream方案”Kinesis Data Firehose 准实时写入数据到Redshift方案
一、背景
Kinesis作为AWS流式数据服务的核心产品,支持多种数据服务作为投递对象。通过Kinesis Data Firehose将数据持久化落盘到S3并自动加载到Redshift数据仓库,可实现最低一分钟的分析间隔,且无需额外配置脚本或计划任务用于加载和数据转换。
本文通过自定义脚本生成测试数据,并加载到Redshift。
Continue reading “Kinesis Data Firehose 准实时写入数据到Redshift方案”Kinesis Data Firehose 写入S3动态分区并转换为Parquet格式
本文有关操作Demo请参考这个视频。本篇为具体技术配置过程。
一、背景和需求分析
1、Kinesis介绍
Kinesis简介From AWS官网:
Amazon Kinesis Data Firehose (KDF) 是将流数据加载到数据存储和分析工具的最简单方式。Kinesis Data Firehose是一项完全托管式服务,让您可以轻松地从数十万个来源中捕获、转换大量流数据,并将其加载到 Amazon S3、Amazon Redshift、Amazon OpenSearch Service、Kinesis Data Analytics、通用 HTTP 终端节点,以及 Datadog、New Relic、MongoDB 和 Splunk 等的服务提供商中,从而获得近乎实时的分析与见解。
2、Kinesis分区需求
测试Kinesis发送数据流时候,经常使用Kinesis控制台上的生成测试数据按钮,这个按钮将生成如下四个字段:
Continue reading “Kinesis Data Firehose 写入S3动态分区并转换为Parquet格式”Kinesis 101 – Kinesis Data Firehose 写入S3 Parquet和动态分区功能演示
Glue配置Connection通过JDBC连接MySQL
本视频演示了预先配置一个RDS MySQL,然后使用Glue从S3存储桶读取数据,并通过Glue Connection以JDBC方式将数据接入RDS MySQL。
注:之前的视频,一直忘记发出来,可能Glue界面已经升级和演进, 部分界面稍有不同。
Continue reading “Glue配置Connection通过JDBC连接MySQL”通过API查询Amazon OpenSearch服务(ElasticSearch)版本和可用机型
一、确认要使用的版本
Amazon OpenSearch Service 是一款开源的分布式搜索和分析套件,衍生自 Elasticsearch。Amazon OpenSearch Service 是 Amazon Elasticsearch Service 的后继者,提供最新版本的 OpenSearch,支持 19 个版本的 Elasticsearch(1.5 到 7.10 版本),并支持由 OpenSearch Dashboards 和 Kibana(1.5 到 7.10 版本)提供的可视化功能。
引擎版本差异在这里。
至此的插件版本差异在这里。
更多信息参考官网的FAQ页面这里(中文)。
Continue reading “通过API查询Amazon OpenSearch服务(ElasticSearch)版本和可用机型”通过JDBC驱动/Python boto3 SDK调用Athena查询数据
一、通过JDBC使用SQL Workbench J工具连接
从官网下载:https://www.sql-workbench.eu/downloads.html
从本实验的镜像下载:https://lxy-sa-software.s3.cn-north-1.amazonaws.com.cn/Workbench-Build127-with-optional-libs.zip
注意,运行环境需要Java。
Continue reading “通过JDBC驱动/Python boto3 SDK调用Athena查询数据”使用CloudTrail和Athena分析S3访问日志
本文更新于2023年8月,新增了对于大量CloudTrail历史数据,需要实现创建分区键的说明。否则按照CloudTrail控制台推荐的默认的Athena建表语句进行查询,将是针对数个GB数据的全表扫描带来不必要的成本。按照本文新增章节,创建带有分区键的Athena表,即可显著降低查询成本。分区键推荐采用Region和日期的方式。
一、背景
S3存储桶的文件读写日志包括Server Access Log和CloudTrail两种方式。二者之间的差别可参考如下网址:
https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/logging-with-S3.html
在官方上描述非常详细,可看到CloudTrail采集的信息更加丰富,因此本文将介绍使用CloudTrail做分析。如下截图。
Continue reading “使用CloudTrail和Athena分析S3访问日志”使用Athena V2引擎的联合查询Federated Query从RDS中检索数据
一、背景
Athena在2021年5月正式升级到V2引擎(含中国区),新增特性之一是通过联合查询 Federated Query 特性从RDS、DynamoDB等AWS服务中检索数据。本文描述如何使用配置并启用联合查询。
Continue reading “使用Athena V2引擎的联合查询Federated Query从RDS中检索数据”Glue ETL 生成单一文件
Glue在做ETL转换时候,因为数据源文件的格式和字段问题,可能无法正确的分区,因此会导致一个一个大文件被转换为若干个小文件,存在一个目录下。如下截图。
Continue reading “Glue ETL 生成单一文件”