amazon-web-services - 如何使用 lambda 将特定列从 csv 复制到红移表中
问题描述
我正在尝试使用 lambda 中的 aws copy 命令将 csv 文件 ins s3 加载到 redshift 中。问题是我在 csv 中的列比在 redshift 表中的多。所以每当我触发 lambda fnction 时,我都会收到错误“找到额外的列”
如何从csv加载特定列
我的 csv 文件是形式
年、月、描述、类别、SKU、销售额(月)
我的红移表是形式
year month description category SKU
-----------------------------------
我的复制命令如下
COPY public.sales
FROM 's3://mybucket/sales.csv'
iam_role 'arn:aws:iam::99999999999:role/RedShiftRole'
delimiter ','
ignoreheader 1
acceptinvchars
解决方案
您可以指定要导入表的列列表 - 有关更多详细信息,请参阅COPY
命令文档。
COPY public.sales (year, month, description, category, SKU)
FROM 's3://mybucket/sales.csv'
iam_role 'arn:aws:iam::99999999999:role/RedShiftRole'
delimiter ','
ignoreheader 1
acceptinvchars
推荐阅读
- reactjs - 为什么在 React 中的 Apollo 客户端中显示错误未显示
- sql - 查询以检索一个客户端的多个地址
- amazon-web-services - Terraform - 循环遍历对象列表的动态块
- awk - 如何在 fastq 文件中执行反向选择不包含特定序列的读取
- python - 如何通过 TensorFlow 转换管道传递 TensorFlow 数据集?
- javascript - 从 Web API 获取原始指针事件
- java - 无法获取 DB2 中的列名
- markdown - mkdocs 检查链接有效性
- git - 与 Visual Studio 同步错误;检查此分支并在再次推送之前集成远程更改
- python - OSError: [Errno 22] 尝试创建 txt 文件时参数无效