- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 target-redshift
将数据推送到 aws-redshift
https://pypi.org/project/target-redshift/
我正在使用 airflow
来监控 etl 状态
这是错误日志,我不知道它是什么意思。 target-redshift 的在线文档几乎不存在。有什么办法可以解决这个错误吗?
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - ERROR Exception writing records
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - Traceback (most recent call last):
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - File "/usr/local/airflow/.virtualenvs/target-redshift/lib/python3.7/site-packages/target_postgres/postgres.py", line 300, in write_batch
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - {'version': target_table_version})
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - File "/usr/local/airflow/.virtualenvs/target-redshift/lib/python3.7/site-packages/target_postgres/sql_base.py", line 840, in write_batch_helper
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - metadata)
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - File "/usr/local/airflow/.virtualenvs/target-redshift/lib/python3.7/site-packages/target_postgres/postgres.py", line 588, in write_table_batch
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - table=sql.Identifier(remote_schema['name'])
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - File "/usr/local/airflow/.virtualenvs/target-redshift/lib/python3.7/site-packages/target_postgres/postgres.py", line 65, in execute
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - return super(_MillisLoggingCursor, self).execute(query, vars)
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - File "/usr/local/airflow/.virtualenvs/target-redshift/lib/python3.7/site-packages/psycopg2/extras.py", line 461, in execute
[2021-03-07 15:04:11,841] {bash_operator.py:126} INFO - return super(LoggingCursor, self).execute(query, vars)
[2021-03-07 15:04:11,842] {bash_operator.py:126} INFO - psycopg2.errors.InternalError_: Invalid syntax: Create table sortkey auto with initial sortkeys.
[2021-03-07 15:04:11,842] {bash_operator.py:126} INFO -
[2021-03-07 15:04:11,842] {bash_operator.py:126} INFO - CRITICAL ('Exception writing records', InternalError_('Invalid syntax: Create table sortkey auto with initial sortkeys.\n'))
最佳答案
在您的任务下某处正在运行这种形式的查询。
CREATE TABLE schema.tablename_copy
(LIKE schema.tablename)
这就是引发错误的原因 Invalid syntax: Create table sortkey auto with initial sortkeys.
修复或删除原始表的 SORTKEY 和 DISTSTYLE 可解决此问题。例如。
ALTER TABLE schema.tablename ALTER SORTKEY NONE;
ALTER TABLE schema.tablename ALTER DISTSTYLE EVEN;
根据您的表的实际需要(在排序和 distkeys 方面),您可能会做其他事情。然而,这很可能是一些加载表并且没有 SORTKEY 等应该不是什么大问题。
其他方法如果上述方法失败,任何避免 LIKE
的方法也将起作用。因为这个 LIKE
很可能是加载/更新序列的一部分。例如
Airflow 可能会在幕后为您执行此 SQL 查询序列。您可以将 Airflow 的步骤分解为单独的任务,并避免使用 LIKE
。
额外信息:这个新错误发生在 Redshift 端。不完全确定为什么,但是 LIKE
语句正在尝试传输 SORTKEY,但无法这样做。
如果您检查原始表 schema.tablename
的定义,您可能会发现 Redshifts 对它的理解有些奇怪。
Amazon 人员提供了此 View 以允许您获取完整的表 DDL 语句 link
对着 View 运行:
SELECT * FROM
WHERE schemaname = 'schema' AND tablename = 'tablename'
可能会展示一些有用的东西。在我的例子中,SORTKEY 和 DISTKEY 都抛出错误:对我来说,这表明 Redshift 对键的内部理解存在缺陷。更重要的是 - 在我的例子中,我从未设置过这些键,所以我认为它们是由 Redshift 暗示的。
关于python-3.x - 无效语法 : Create table sortkey auto with initial sortkeys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66533721/
我正在尝试使用 target-redshift 将数据推送到 aws-redshift https://pypi.org/project/target-redshift/ 我正在使用 airflow
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在寻找涵盖这个想法的 Material : 给定一个类似列表的数据结构(例如数据库表),应该引入一个 sortKey 属性(列) 反射(reflect)所需的排序顺序(ORDER BY sortK
Redshift 允许将多个列指定为 SORTKEY列,但大多数最佳实践文档的编写方式好像只有一个 SORTKEY。 如果我用 SORTKEY (COL1, COL2) 创建一个表,这是否意味着所有列
我正在编写一个程序来读取如下所示的文本文件: 3679 87 196 60 17914 12 18618 64 2370
(我这里用的是Python 2) 我有一个字典列表,比方说 dei = [{'name': u'Thor'}, {'name': u'Œdipus'}, {'name': u'Creon'}] 我想按
我正在编写代码,在数据库中创建索引。使用 ICU 库,我的工作流程是: 用户语言环境中的字符串 -> 转换为 utf8 -> 规范化 utf8 -> 调用 ICU ucol_getSortKey 获取
我有一个非常技术性的问题,关于 Redshift 如何处理 DISTKEY和 SORTKEY内部以满足存储层和查询执行需求。我读过这个惊人的 post这很好地解释了每个关于 table 设计的含义。
有人可以帮我解决这个问题吗?它一直有效,直到我改变了一些东西试图优化它......该死! 这是我的 table 模型: class MyTableModel extends DefaultTableM
我开始对查询调优进行一些研究,并且一直在尝试使用 distkey 和 sortkey。从我读过的内容来看,如果我将 distkey 设置为连接列,查询计划器将使用合并连接而不是散列连接,这在 Reds
我在 redshift 中有一个表,其中包含十亿条记录(日志文件条目)。它有一个时间戳列 ts,上面有 distkey 和 sortkey。以下查询: select ts from apilogs
我有一个在 Spring Boot 中运行的 Spring Batch 项目,它运行良好。对于我的读者,我将 JdbcPagingItemReader 与 MySqlPagingQueryProvid
我正在尝试配置 JdbcPagingItemReader bean,但我不确切知道表中列的名称,因此我想知道是否有一种方法可以在没有排序键的情况下配置 PagingQueryProvider。 @Be
我正在将表的夜间快照加载到 Redshift 中。我在表的末尾添加了一个名为“rundate”的列,它仅表示数据何时通过我的 ETL 过程提取。它也是主要的排序键。 每晚的表格变得越来越长,其中许多有
我需要获取所有列,它们是 Redshift 中 sortkey 的一部分。 我尝试使用“select * from svv_table_info”获取信息,但它只有一列的信息。你能告诉我,我如何获取表
我需要获取所有列,它们是 Redshift 中 sortkey 的一部分。 我尝试使用“select * from svv_table_info”获取信息,但它只有一列的信息。你能告诉我,我如何获取表
让我问一些有关 AWS Redshift 上的列压缩的问题。 现在我们正在验证使用适当的 diststyle、sortkeys 和列压缩可以提高性能。 如果我的理解是正确的,列压缩可以帮助降低 IO
我正在尝试阅读 Python 配置文件(rs)的文档。我在 Win10 笔记本电脑上的 Anaconda 中使用 Python 3.6。 https://docs.python.org/3/libra
我想创建带有 GSI 的 DynamoDB 表。对于这个GSI,目前我只需要PartitionKey,因为我只想通过一个属性进行查询。但将来我可能需要通过其他属性进行查询。因此,我正在考虑添加一个 S
我是一名优秀的程序员,十分优秀!