尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

手把手实操aws-lambda-redshift-loader示例:5个CSV文件体验S3到Redshift自动化

手把手实操aws-lambda-redshift-loader示例:5个CSV文件体验S3到Redshift自动化 手把手实操aws-lambda-redshift-loader示例5个CSV文件体验S3到Redshift自动化【免费下载链接】aws-lambda-redshift-loaderawslabs/aws-lambda-redshift-loader: 一个基于 AWS Lambda 的 Amazon Redshift 数据加载工具适合在需要将数据加载到 Redshift 数据库的场景中可以实现高效的数据加载和导出。项目地址: https://gitcode.com/gh_mirrors/aw/aws-lambda-redshift-loaderaws-lambda-redshift-loader 是一款零运维的 Amazon Redshift 数据加载工具只需把文件丢进 S3 指定目录它就能自动触发 COPY 命令把数据批量加载进 Redshift 集群。本文带你用官方的 5 个 CSV 示例文件完整走一遍「S3 上传 → Lambda 自动捕获 → 写入 Redshift 表」的自动化流程新手也能轻松上手 先看懂整体架构在动手之前花 1 分钟了解它的工作方式后面每一步都会更清晰S3 是入口文件放入预先配置的 S3 前缀目录即可触发加载Lambda 是大脑函数捕获新文件事件攒够一个批次或超时就执行 COPYDynamoDB 记台账记录每个文件何时加载、进了哪张表、属于哪个批次保证文件只被加载一次也方便事后审计和重跑。如果你希望 Lambda 能访问 VPC 内部的 Redshift还需要按下面这张图配置子网与 NAT 网关——每个可用区Availability Zone配一套私有子网 公网 NAT动手前的准备工作 ✅开始示例前确认你已具备一个 Amazon Redshift 集群记下集群的 endpoint 地址、端口、数据库名以及一个有建用户权限的数据库账号一个 S3 存储桶用于存放示例的输入文件psql 命令行客户端和 bash 终端示例脚本会用它连接 Redshift克隆代码仓库并安装依赖git clone https://gitcode.com/gh_mirrors/aw/aws-lambda-redshift-loader cd aws-lambda-redshift-loader npm install示例文件位于 sample/data/一共 5 个 CSV内容是三列整数、以竖线|分隔例如 sample-redshift-file-for-lambda-loader1.csv 的内容为7|8|9。之所以选 5 个文件是因为示例配置中批次大小为 2——稍后你会看到2 个 2 个 1 个的分批效果非常直观。第 1 步一条命令初始化示例环境进入 sample/scripts/ 目录执行一键配置脚本bash configureSample.sh 集群endpoint 端口 数据库名 管理员用户名 AWS区域脚本会提示你输入数据库密码然后自动完成三件事详见 sample/README.md创建专用数据库用户test_lambda_load_user创建目标表lambda_redshift_sample三列 int与 CSV 结构对应运行 createSampleConfig.js 写入加载器配置——此时会交互式询问你使用哪个 S3 桶作为输入目录。配置的关键参数已被示例预置好数据格式CSV、分隔符|、batchSize 2、batchTimeoutSecs 60。也就是说攒够 2 个文件或等待 60 秒就触发一次加载。第 2 步把 5 个 CSV 上传到 S3回到项目根目录用 AWS CLI 一条命令把示例数据同步到 S3 的input前缀下aws s3 sync sample/data s3://你的S3桶名/input --region 桶所在区域上传完成后什么都不用再做——S3 事件会自动触发 Lambda。稍等片刻打开 Lambda 控制台的 CloudWatch 日志流你会看到加载批次陆续执行的记录。第 3 步验证加载结果5 个文件、批次大小为 2预期结果是✅2 个已完成的批次每批各加载 2 个文件共 4 个1 个文件留在未关闭的批次中等后续文件凑满或 60 秒超时后再加载。用 psql 连上数据库查一下数据已经在了SELECT count(*) FROM lambda_redshift_sample;想看加载台账打开 DynamoDB 控制台浏览LambdaRedshiftProcessedFiles表每个文件的 S3 路径与它所属的batchId一一对应相同 batchId 的文件就是同一批加载的收尾清理示例环境玩完之后用 cleanup.sh 一键还原它会删除 Redshift 中的示例表和用户并清除 DynamoDB 中的配置表bash cleanup.sh 集群endpoint 端口 数据库名 管理员用户名常见问题速答 疑问解答为什么文件没有立刻加载示例配置了 batchSize2凑满 2 个文件才触发单个文件需等 60 秒超时想改批次大小/超时时间修改 DynamoDB 配置表中的batchSize与batchTimeoutSecs即可如何查看历史批次与重跑参见主文档 README.md 的 Operations Guide 部分支持查询、重处理、解锁批次等操作Lambda 连不上 Redshift 怎么办检查是否按上文 VPC 图配置了子网、安全组与 NAT 路由小结通过这个示例你用 5 个 CSV 文件完整体验了 aws-lambda-redshift-loader 的核心价值无需维护任何服务器文件落入 S3 即自动入仓。掌握这条链路后替换成你自己的业务文件与前缀规则就能把它用在真实的数据管道里。【免费下载链接】aws-lambda-redshift-loaderawslabs/aws-lambda-redshift-loader: 一个基于 AWS Lambda 的 Amazon Redshift 数据加载工具适合在需要将数据加载到 Redshift 数据库的场景中可以实现高效的数据加载和导出。项目地址: https://gitcode.com/gh_mirrors/aw/aws-lambda-redshift-loader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表