Amazon Redshift 如何从 s3 复制并设置 job_id

2024-06-22

Amazon Redshift 提供使用“复制”命令从 s3 对象加载表数据的功能。他们是使用复制命令的一种方法,但也为每个插入的行设置额外的“col=CONSTANT”。

我想在每个复制的行上设置一个 job_id (不在源数据中),我认为当“copy”获取时,必须执行几百万次插入,以便每行都有一个作业属性,这将是一种耻辱我已经完成了 99%,并且表现更好。

也许有更聪明的解决方案?


如果您希望在单个 COPY 命令中添加的所有行都具有相同的 job_id 值,那么您可以将数据复制到临时表中,然后将 job_id 列添加到该表中,然后将临时表中的所有数据插入最终表中,如下所示:

CREATE TABLE destination_staging (LIKE destination);
ALTER TABLE destination_staging DROP COLUMN job_id;
COPY destination_staging FROM 's3://data/destination/(...)' (...)
ALTER TABLE destination_staging ADD COLUM job_id INT DEFAULT 42;
INSERT INTO destination SELECT * FROM destination_staging ORDER BY sortkey_column;
DROP TABLE destination_staging;
ANALYZE TABLE destination;
VACUUM destination;

ANALYZE 和 VACUUM 不是必需的,但强烈建议这样做,以便更新查询分析器并将所有新数据放入正确的位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Amazon Redshift 如何从 s3 复制并设置 job_id 的相关文章

  • Spark 写入 S3 V4 SignatureDoesNotMatch 错误

    我遇到S3SignatureDoesNotMatch尝试使用 Spark 将 Dataframe 写入 S3 时 症状 尝试过的事情 代码失败有时但有效有时 代码可以read从 S3 没有任何问题 并且能够不时写入 S3 这排除了错误的配置
  • 具有位变化的 PostgreSQL 位运算符“不能与不同大小的位字符串”

    我有一个变化的位掩码字段 我想对其执行按位与操作 PG Error ERROR cannot AND bit strings of different sizes SELECT groups FROM groups WHERE read r
  • boto3 搜索未使用的安全组

    我正在使用 AWS Python SDK Boto3 我想知道哪些安全组未使用 我用 boto2 做到了 但我不知道如何用 boto3 做同样的事情 from boto ec2 connection import EC2Connection
  • PostgreSQL - 返回多列的函数

    这是一个提供 2 列结果的函数 在这个函数中有一个Loop被用来返回结果 功能 Create Type Repeat rs as label text count bigint CREATE OR REPLACE FUNCTION Repe
  • Postgres Notify 不适用于逻辑复制

    我正在使用逻辑复制将数据从 Postgres 10 4 复制到另一个 Postgres 10 4 实例 订阅者有多个触发器将事件记录到单个表中 该表有一个触发器 该触发器执行另一个函数 返回触发器 来为下游侦听器调用 NOTIFY 审计表上
  • Amazon s3:直接上传与预签名 URL

    我正在使用 AWS SDK for NET 并且正在寻找一种让用户直接上传到 s3 存储的方法 我遇到过 aws 提供的两种不同的方式 基于浏览器的上传 https docs aws amazon com AmazonS3 latest A
  • AWS API Gateway 默认响应和触发器 AWS Lambda

    我一直在尝试使用 AWS API Gateway 和 AWS Lambda 来尝试无服务器架构 一直在浏览博客和 AWS 文档 已尝试过示例 GET POST 但是 我有以下要求 从我的自定义应用程序跟踪用户事件 Events are po
  • aws Lambda 在 S3 上传时使 CloudFront 失效

    我同时上传 10 50 个文件 Lambda 会为每个更新的文件触发一个事件 如果文件大小发生变化 因此 我不想一一失效 50x 而是想运行通配符 上传结束时出现一次字符 任何人都可以阐明如何实现这一目标 谢谢 如果我正确理解你的问题 你的
  • 如何配置AWS ELB以阻止某些IP地址? (已知的垃圾邮件发送者)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 如何获取表中所有列的计数(*)?使用 PostgreSql

    我有一堆表 其中几个有数百列 我需要获取每列的非空值计数 并且我一直在手动执行此操作 我想找出一种方法来获取表中所有列的所有计数 我查了 stackoverflow 和 google 但找不到答案 我尝试了这个 但它只是为每列返回 1 的值
  • Knex 与 PostgreSQL 选择查询在多个并行请求上性能极度下降

    In brief 我正在开发一个 梦想中的 游戏 我的后端堆栈是 Node js 和带有 Knex 的 PostgreSQL 9 6 我在这里保存所有玩家数据 我需要经常请求它 其中一个请求需要进行 10 个简单的选择来提取数据 这就是问题
  • 如何列出表外键

    有没有办法使用 SQL 列出给定表的所有外键 我知道表名称 架构 我可以将其插入 您可以通过 information schema 表来完成此操作 例如 SELECT tc table schema tc constraint name t
  • 将 Python Lambda 函数导入 Eclipse AWS Toolkit

    如何将 Lambda 函数导入 AWS Toolkit for Eclipse 我将函数从 AWS 控制台导出到 YAML 和 ZIP 包 如何在 Eclipse 中使用这些内容 有教程数量 https cloudacademy com b
  • 如何在 PHP 中获取 AWS EC2 实例 ID

    我在 AWS EC2 中有 2 个实例 我想通过实例 id 检查请求 require once vendor autoload php use Aws Ec2 Ec2Client use Aws Rds RdsClient instance
  • Python postgreSQL sqlalchemy 查询 DATERANGE 列

    我有一个预订系统 并将预订日期范围保存在 日期范围 列中 booked date Column DATERANGE nullable False 我已经知道我可以通过以下方式访问实际日期booked date lower or booked
  • PostgreSQL 中有类似 SSIS 的功能吗?

    我们正在使用SSIS SQL Server 集成服务 http msdn microsoft com en us library ms141026 aspx在 SQL 2008 R2 中 将数据库表从 30 多个数据库 在 SQL Serv
  • Aurora RDS 实例无法停止

    我正在尝试 Amazon Aurora 实例 但看不到停止它的选项 唯一的选项是删除和重新启动 我是不是错过了什么 编辑 2018 09 25 Amazon Aurora 现在支持停止和启动数据库集群 根据本公告 https aws ama
  • 如何使用带有外键的时间尺度超表并保持一对多关系?

    我正在尝试创建一个考虑到最小冗余的数据库 我们想使用 timescaledb 超级表 我运行 postgreSQL v 12 和 timescaledb v 1 7 4 创建表的 postgreSQL 代码如下 您可以在此处查看 dbdia
  • Spring Cloud-SQS

    我正在尝试使用 Spring Cloud 框架获得一个简单的队列处理程序 但是 我已成功让消息处理程序轮询队列 我看到的问题是 当我将消息发布到队列时 我的处理程序无法将有效负载解组到所需的 java 对象中 MessageMapping
  • 使用 pyscopg2 和 PostgreSQL 将日期时间插入数据库

    我在使用 pyscopg2 的 insert 语句将日期时间戳插入 SQL 数据库时遇到问题 下面的代码所做的是每次按下按钮时 它都应该在数据库中插入一行 其中包含buildingID 只是文本 以及按下按钮时的日期和时间 我只是不知道如何

随机推荐