问题标签 [spark-redshift]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-redshift - 我们是否可以使用 debezium 在目标数据库(redshift)中创建每日快照作为行
我们是否可以使用 debezium 在目标数据库中创建表的每日快照作为行。
pyspark - 我想知道 spark-redshift 库是开源/免费使用还是必须通过 Databricks 获得许可
我想使用 spark-redshift 库使用以下代码将数据从 AWS S3 写入 AWS Redshift。在使用它之前,我想知道 spark-redshift 库是开源/免费使用还是必须通过 Databricks 获得许可。
.net - AWS、dotnet spark 和 redshift 不工作
嗨,我在使 redshift 和 dotnet spark 工作时遇到问题:
这是我用来让它在调试模式下工作的配置:
这是我的代码摘录:
请注意评论中我已经证明的许多配置:
我没有办法让这个工作。例外总是相同的:
拜托,hhhhheeeeeeeellllllllppppppppp!!!!
amazon-redshift - 如何在 AWS REDSHIFT 中使现有列不为空?
我已经通过胶水作业动态创建了一个表格,并且它成功地工作正常。但根据新要求,我需要添加一个生成唯一值的新列,并且应该是 redshift 中的主键。
我已经使用 rownum() 函数实现了相同的功能,并且工作正常。但是最新的要求是特定列应该是主键。
当我尝试这样做时,它要求该列不为空。你知道如何通过粘合作业使列不为空吗?或任何使其不为空的红移查询。我尝试了所有方法都没有运气。
apache-spark - 使用 Spark 和 Redshift 时如何优化 ETL 数据管道以实现容错?
我正在使用 PySpark 编写一个大批量作业,该作业对 200 个表进行 ETL 并加载到 Amazon Redshift 中。这 200 个表是从一个输入数据源创建的。因此,只有当数据成功加载到 ALL 200 个表中时,批处理作业才会成功。批处理作业每天运行,同时将每个日期的数据附加到表中。
对于容错性、可靠性和幂等性,我当前的工作流程如下:
- 使用临时表。创建临时 Redshift 表
CREATE TEMP TABLE LIKE <target_table>
- 将数据转换并加载到临时表中。
- 对 200 个其他表重复 1-2。
- 开始
BEGIN
交易。 - 使用将临时表数据复制到目标表中
INSERT INTO <taget_table> SELECT * FROM <staging_table>
END
交易DROP
所有临时表。
这样我可以保证如果第 3 步失败(这更有可能),我不必担心从原始表中删除部分数据。相反,我将简单地重新运行整个批处理作业,因为临时表在 JDBC 断开连接后被丢弃。
虽然它解决了大部分问题,但它并不优雅、不合时宜,而且会耗费额外的时间。我想如果 Spark 和/或 Redshift 提供标准工具来解决 ETL 世界中这个非常常见的问题。
谢谢
apache-spark - EMR PySpark 写入 Redshift:java.sql.SQLException:[Amazon](500310) 无效操作:会话是只读的
尝试在 EMR 集群上使用 PySpark 将数据写入 Redshift 时出现错误。
我得到的错误是:
我很感激任何帮助。谢谢!
apache-spark - 如何从本地安装的 spark 连接到 aws-redshift?
下载了必要的库以从本地安装的 spark 集群连接 redshift 并使用以下命令启动 pyspark,但我收到以下错误消息。
amazon-web-services - AWS Glue Job Redshift:从 AWS Glue 作业中的 Redshift 发出读取时间戳和时区
我有一个 AWS Glue 作业设置,它将使用 JDBC 连接从 AWS Redshift 读取数据。
来自 DBeaver 的列值:2020-05-08 12:36:53.000 +0530 来自 RedShift 查询编辑器的列值:2020-05-08 07:06:53+00
Redshift 中的数据类型:带有时区 的时间戳 AWS Glue 目录表中的数据类型:时间戳
我编写了一个爬虫作业,将该值映射到时间戳,但是当我尝试处理 AWS Glue 作业时,我遇到了异常。我尝试了各种。代码工作正常,我从 CSV 而不是 Redshift 表中读取值。从 CSV 读取时,爬虫作业映射的数据类型是字符串。我尝试将胶水目录表更改为字符串,但这也不起作用。
这个家伙也面临着类似的问题,但这个帖子已经很老了,没有有效的解决方案https://github.com/databricks/spark-redshift/issues/391
spark-redshift - 使用带有布尔列的 pyspark 在 redshift 中写入数据帧时出错
在我的脚本中,该write
方法PySpark
获取一个数据帧并将其写入 a Redshift
,但是在某些数据帧中,有一些布尔列返回错误,指出Redshift
不接受位数据类型。
我的问题是因为它说应该是布尔值的是位。
编码:
桌子:
根 |-- namecolumn: boolean (nullable = true)
错误: