我调查了我的工作, 发现我确实有一项有偏差的任务。 我如何确定导致偏斜的任务中的实际值是多少? 我的 Python 转换代码如下所示:from transforms.api import Input, Output, transform @transform( ... ) def my_c ...
我调查了我的工作, 发现我确实有一项有偏差的任务。 我如何确定导致偏斜的任务中的实际值是多少? 我的 Python 转换代码如下所示:from transforms.api import Input, Output, transform @transform( ... ) def my_c ...
当我的 spark 作业失败时,我收到以下错误**"org.apache.spark.shuffle.FetchFailedException: The relative remote executor(Id: 21), which maintains the block data to fetch ...
我很难理解为什么我无法运行转换,在等待了这么多分钟(有时是几个小时)后,它返回错误“序列化结果太大”。 在转换中,我有一个日期列表,我在 for 循环中迭代以在特定时间间隔内进行增量计算。 预期的数据集是迭代数据集的联合,应该包含 450k 行,不是太多,但我有很多计算阶段、任务和尝试! 配置文件已 ...
我在我的存储库中看到它警告我使用union而我应该使用unionByName 。 这些不是一回事吗? 我为什么要关心使用哪一个? ...
我正在使用各种 Magritte 导出任务以镶木地板格式从 Foundry 数据集导出数据到 ABFS 系统(但 SFTP、S3、HDFS 和其他基于文件的导出也会出现同样的问题)。 我正在导出的数据集相对较小,大小不到 512 MB,这意味着它们实际上不需要拆分为多个 parquet 文件,将所 ...
我有一些 PySpark 代码正在编写,我想在其中执行连接和其他操作,但我想在此阶段成功完成时记录。 为什么我没有看到按我期望的顺序记录? 即使我的工作仍在继续工作,似乎一切都立即出现了…… ...
我注意到我的代码仓库警告我在 for/while 循环中使用 withColumn 是一种反模式。 为什么不建议这样做? 这不是正常使用PySpark API吗? ...
我已经阅读了 Foundry 中的文档以了解两者之间的区别,但我想知道在什么情况下我想将STATIC_ALLOCATION配置文件应用于我的构建以防止我的执行程序被抢占。 在动态分配模式下运行时,我还有什么其他需要注意的吗? ...
我有一个数据集,我想将每列的每个唯一值均匀地重新分区为 10 个桶,并且我想将此结果调整为大量分区,以便每个分区都很小。 col_1保证是["CREATE", "UPDATE", "DELETE"]中的值之一我的代码如下所示:df.show() """ +------+-----+-----+ ...
我想在我的 DataFrame 上运行df.count() ,但我知道我的数据集总大小非常大。 这是否存在将数据具体化回驱动程序的风险/增加驱动程序OOM的风险? ...
我的 Foundry 转换在不同的运行中产生不同数量的数据,但我希望每个文件中的行数相似。 我可以使用DataFrame.count()然后合并/重新分区,但这需要计算完整的数据集,然后再次缓存或重新计算它。 Spark有办法解决这个问题吗? ...
我有一组要解析的.xml文档。 我以前曾尝试使用获取文件内容并将它们转储到单个单元格中的方法来解析它们,但是我注意到这在实践中不起作用,因为我看到运行时间越来越慢,通常需要完成一项任务运行数十小时: 我的第一个转换采用.xml内容并将其放入单个单元格,第二个转换采用此字符串并使用 Python 的 ...
我想使用spark.read.csv解析一系列.csv文件,但我想在文件中包含每行的行号。 我知道 Spark 通常不会对 DataFrame 进行排序,除非明确告知这样做,而且我不想编写自己的.csv文件解析器,因为这将比 Spark 自己的实现慢得多。 如何以分布式安全方式添加此行号? 从阅 ...
我想测试 PySpark 正则表达式的不同输入,以查看它们在运行构建之前是否失败/成功。 在运行完整的构建/检查之前,有没有办法在 Foundry 中测试它? ...
我想对我的数据集进行 Hive 分区,但我不太清楚如何确保拆分中的文件计数正常。 我知道我应该大致瞄准大小为 128MB 的文件 如何安全地缩放和控制 Hive 分区数据集文件内的行数? ...
我想采用一组任意模式并将它们组合成一个可以在以后取消透视的数据集。 什么是最稳定的方法来做到这一点? 假设我有数十个具有不同模式的输入。 这些都有不同的列,实际上意味着相同的事情,只是名称不同。 修复列名后,我想创建这些列的集合的输出,即动态旋转。 我希望我的输入组合在一起后有一个单一的模式,我 ...
我有一个创建两个数据集的数据连接源: 数据集 X(快照) 数据集 Y(增量) 这两个数据集来自同一个来源。 数据集X包含源表中所有行的当前状态。 数据集Y提取自上次构建以来已更新的所有行。 然后将这两个数据集下游合并到数据集Z ,数据集Z是数据集X或数据集Y中每一行的最新版本。 这使我 ...
我的 Foundry 实例中有一个使用增量计算的管道设置,但由于某种原因没有达到我的预期。 即,我想读取我的转换的先前输出并获取日期的最大值,然后仅在此最大日期之后立即读取数据的输入。 出于某种原因,它没有按照我的预期运行,并且在构建/分析/修改代码过程中逐步执行代码非常令人沮丧。 我的代码如下 ...
我有一个大的 gziped csv 文件 (.csv.gz) 上传到一个大小约为 14GB 且未压缩时为 40GB 的数据集。 有没有一种方法可以使用 Python 转换将其解压缩、读取和写入数据集,而不会导致执行程序 OOM? ...
我注意到当我在这里运行与我的示例相同的代码但使用union或unionByName或unionAll而不是join ,我的查询计划花费的时间要长得多,并可能导致驱动程序 OOM。 此处包含的代码仅供参考,与for()循环内部发生的情况略有不同。 from pyspark.sql import ty ...