如何将 TIMESTAMP 列插入 Redshift

2024-04-17

我在 Redshift 中创建了一个表:

create table myTable (
       dateTime TIMESTAMP NOT NULL,
       ...
);

但是,当我尝试插入包含以下内容的记录时dateTime的,我收到一个错误stl_load_errors.

20080215 04:05:06.789

因为我从docs http://docs.aws.amazon.com/redshift/latest/dg/r_Date_and_time_literals.html,我本以为它会起作用。

Redshift 的错误日志显示:

时间戳格式或值无效 [YYYY-MM-DD HH24:MI:SS]

不过,我想多加 3 秒,例如:2015-02-01 15:49:35.123.

我需要如何修改我的时间戳字段以将其插入到以秒为单位的额外精度?


TL;DR - 从 S3 文件导入 Redshift 时,强制导入的数据采用默认时间格式'YYYY-MM-DD HH:MI:SS'Redshift 期望获得超过秒的精度,否则它将被截断。

我在尝试上传以从 S3 拉入时遇到了同样的问题。我原来的 JSON 有这样的时间戳。{ "updated_at" : "2014-12-08T21:14:49.351638" }。然而,当我将其拉入 Redshift 时,我需要设置格式,其中包括时间之前的 T。

COPY schema.temp_table FROM 's3://s3-bucket/file-name'
    WITH CREDENTIALS 'aws_access_key_id=access-key;aws_secret_access_key=secret-key'
    format as json 'auto'
    timeformat 'YYYY-MM-DDTHH:MI:SS';

这导入了所有内容,但是时间总是被截断为秒,所以我最终会得到2014-12-08 21:14:49在红移中。

The 文档 http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html#r_COPY_command_examples-load-a-time-datestamp看起来应该精确地导入到 6 个位置,但事实并非如此。

我决定尝试一下默认格式'YYYY-MM-DD HH:MI:SS'为了导入到 Redshift,所以我必须更改 Postgres 数据库才能以正确的格式导出日期字段的 JSONto_char(updated_at, 'YYYY-MM-DD HH24:MI:SS.SSSSS') as updated_at.

进行此更改后,新的 JSON 导出为{ "updated_at" : "2014-12-08 21:14:49.351638" }我将导入 Redshift 的时间格式设置为默认值format as json 'auto' timeformat 'YYYY-MM-DD HH:MI:SS';

通过进行此更改以使用默认时间格式,Redshift 现在可以以正确的精度导入时间戳!

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

如何将 TIMESTAMP 列插入 Redshift 的相关文章

随机推荐

  • Excel VBA MySql 参数化更新“无效参数类型”

    我正在创建一个界面 用户可以在其中使用 Excel 无缝更改 SQL 数据库 我可以很好地检索数据 但是在更新记录时我得到 无效的参数类型 只需将值连接到查询中就可以正常工作 但是为了防止 SQL 注入 我需要参数化查询 我尝试用该值替换
  • 对于具有单个 Google 帐户的设备,Google 登录不显示帐户选择器

    我正在尝试为 Android 应用程序实现 google plus 登录 我按照谷歌开发者页面上的指南进行操作 https developers google com mobile android getting started https
  • Sublime Text 2 中的“关闭其他”命令快捷方式

    我正在尝试添加 关闭其他 选项卡的快捷方式 但似乎找不到该命令 这就是我正在尝试的 keys super alt w command close others Cmd Option W sort of like Cmd Option H i
  • SOLR 中的子字符串匹配

    我似乎无法弄清楚如何使用 SOLR 查找子字符串匹配 我已经根据前缀找出了匹配 这样我就可以让火腿与汉堡包匹配 我如何搜索 汉堡 来匹配汉堡包 我试过burger但这引发了错误 或 不允许作为 WildcardQuery 中的第一个字符 如
  • python - Atom IDE 如何启用自动完成代码以查看模块中的所有函数

    我正在为我的 python 项目使用atom IDE 在某些情况下有自动完成建议 但我想知道是否可以列出导入模块具有的所有可能功能 例如 如果我导入import urllib当我打字时urlib 并按 ctrl tab 想要查看包含可能使用
  • 如何在 C# 中声明大整数

    下面的代码 C 中 是我尝试转换为 C 的代码 DWORD Func X 4 DWORD arg1 DWORD arg2 DWORD arg3 LARGE INTEGER result 1 0 LARGE INTEGER temp1 0 L
  • 通过 HTTP Post-Commit Hook 将 Github 连接到安全的 Jenkins

    我已经在我的测试服务器上使用 Github 插件设置了 Jenkins 我通过仅允许经过身份验证的用户 匿名用户没有任何权限 和安全连接来保护 Jenkins 不幸的是 Github 提供的提交后挂钩似乎不适用于我的情况 我尝试访问以下网址
  • 在 Jersey 中是否可以访问注入的 HttpServletRequest,而不是代理

    注射时HttpServletRequest在 Jersey JAX RS 资源中 注入的值是代理 例如 Path myResource class MyResource Inject HttpServletRequest request 会
  • 使用 WinApi 使用 C++ 实现多显示器屏幕截图,仅显示 2 个显示器

    我有一个使用 WinApi 和 C 在 Windows 平台上截取屏幕截图的功能 它与一台和两台显示器完美配合 但当我在具有 3 个或更多显示器的计算机上运行它时 它只拍摄两个显示器的照片 我认为我的问题是 主 监视器左侧的监视器内容被切断
  • 提高聚簇索引 GUID 主键的性能

    我有一个包含大量行 10K 的表 它的主键是 GUID 主键是聚集的 该表的查询性能相当低 请提供建议以提高效率 GUID 上的聚集索引不是一个好的设计 GUID 的本质在于它是随机的 而聚集索引则通过键对记录进行物理排序 这两件事是完全矛
  • 如何在 vuejs 中使用 bootstrap 4 主题

    有多个 Bootstrap 4 主题可以让网站的样式和布局变得简单 其中一些要求您的资产文件夹以非常特定的方式布局 例如 https htmlstream com public preview stream ui kit docs html
  • 如何排除不想要的后代?

    我遇到的情况是元素包含n可点击的手柄和n可揭示的元素 div class revealer div class hotspot a class handle href A a div class reveal p Content A p d
  • 如何完全删除颠覆性插件

    我已经安装了 Subversive 并想切换到 Subclipse 插件 通过 关于 Eclipse gt 安装详细信息 gt 卸载 并安装 Subclipse 卸载 Subversive 后 首选项 gt 团队 中现在有两个可用的 SVN
  • Servlet异步处理请求

    当我探索 NodeJS 应用程序和 Java 应用程序如何处理请求时 我遇到了 Servlet 对请求的异步处理 根据我在不同地方读到的内容 请求将由 Servlet 容器中的 HTTP 线程接收和处理 如果发生阻塞操作 如 I O 则可以
  • 在 Windows 上安装 gsutil

    我对 python 比较陌生 所以如果这是一个愚蠢的问题 我深表歉意 我在 Windows 上安装 gsutil 时遇到问题 我按照这里的指示进行操作 https developers google com storage docs gsu
  • 使用传单和 R 在地图上计算、解码和绘制路线

    我有原始数据 其中包含地点的纬度和经度样本数据如下 编辑 输出 structure list Lat c 33 9409444 33 9335713 33 9333906 33 9297826 Lon c 18 5001774 18 503
  • 我可以在 VS Code 中扩展现有的着色器或语言吗

    我想要做的是创建一个扩展 HTML 支持的扩展 也就是说 它可以完成 HTML 支持所做的所有事情 甚至更多 其中包括以下内容 语法突出显示 着色器 智能感知 HTML 格式 艾米特片段 这些详细信息列在本页上VS Code 中的 HTML
  • XCode 6.0.1 Enterprise In House Distribution 未创建 ipa/plist

    升级到 XCode 6 0 1 后 In House Enterprise Distribution from Archive 现在会创建 pkg 文件 而不是 ipa plist 文件 这打破了我们的企业分配制度 我还没有找到任何有关此更
  • 递归地添加数字序列

    嘿 我想用一些递归来刷新我的想法 我想添加从 开始 到 结束 含 的所有数字 即如果开始是 1 结束是 5 那么答案就是 1 2 3 4 5 15 到目前为止我已经得到了这个 int calc int start int end if st
  • 如何将 TIMESTAMP 列插入 Redshift

    我在 Redshift 中创建了一个表 create table myTable dateTime TIMESTAMP NOT NULL 但是 当我尝试插入包含以下内容的记录时dateTime的 我收到一个错误stl load errors