当前位置: 首页 > 知识库问答 >
问题:

使用Pyspark转换红移表

井修雅
2023-03-14

我试图在当前redshift表的顶部创建一个redshift表,我有一个执行以下步骤的脚本:

  1. 将redshift表按块加载到熊猫数据帧中以避免内存错误
  2. 在每个卡盘中,我处理数据并将CSV文件输出到S3
  3. 运行S3 Copy命令将文件移动到红移。

这种方法非常慢,因为在将数据加载到pandas dataframe时,它会保持红移查询。

为了加快进程,我认为可能需要

  1. 减少查询原始表的次数

我发现Databrick有一个名为spark redshift的包,但我发现它已经有一段时间没有维护了,似乎不再工作了。我试图将数据从卸载到s3,但由于我的角色,我没有这样做的权限。

所以我目前尝试的方法是使用AWS EMR

有没有什么聪明的方法来取代我上面描述的运行缓慢的工作?

共有1个答案

洪永长
2023-03-14

此处已询问将EMR Spark群集连接到Redshift:将PySpark连接到AWS Redshift时出错

从答案中可以看出,有许多不同的方法可以将所需的依赖项安装到集群中。

 类似资料:
  • 我一直在尝试将我的EMR5.11.0集群上的Spark 2.2.1连接到我们的Redshift商店。 我遵循的方法是- 谢了!

  • 我在redshift表中有一个varchar列,其中时间以24小时格式存储,例如,我想查询该表并将格式转换为12小时格式,显示时间为上午或下午。当我测试like时,它工作得很好,但是当我用列名代替查询表的硬编码值时, 它不会工作,给出一个错误

  • 我试图在我的数据集上运行PySpark中的FPGrowth算法。 我得到以下错误: 我的数据帧df格式如下: 如果“名称”列中的数据形式为: 如何在这个形式中从StringType转换为ArrayType 我从我的RDD形成了Dataframe:

  • 我的一个数据帧(spark.sql)有这个模式。 我需要将其保存到CSV文件,但不使用任何扁平化,以以下格式分解。 我直接使用了命令 ,这符合我的目的,但我需要一个更好的方法。我正在使用派斯帕克

  • 本文向大家介绍使用Atlassian转换实用程序从SVN迁移到Git,包括了使用Atlassian转换实用程序从SVN迁移到Git的使用技巧和注意事项,需要的朋友参考一下 示例 在此处下载Atlassian转换实用程序。该实用程序需要Java,因此请确保在计划进行转换的计算机上安装了Java Runtime Environment JRE。 使用命令java -jar svn-migration-

  • 使用 Pyspark 使用 withColumn() 命令,以便在数据帧上执行一些基本转换,即更新列的值。寻找一些调试帮助,同时我也解决了这个问题。 Pyspark正在发布分析异常 _c49=“EVENT_NARRATIVE”是与哥伦布(“EVENT_NARRATIVE”)...引用火花 df(数据帧)内的数据元素。 df.head()中的1行示例数据: