在Foundry代码存储库中,如何遍历目录中的所有数据集?

问题描述

我正在尝试在单个Pyspark转换中从单个目录读取(全部或多个)数据集。是否可以遍历路径中的所有数据集,而无需将各个数据集硬编码为输入?

我想从多个数据集中动态获取不同的列,而不必对各个输入数据集进行硬编码。

解决方法

所以这不起作用,因为每次运行CI时结果都会不一致。这将破坏TLLV(转换级逻辑版本控制),因为它无法分辨逻辑何时真正更改,从而将数据集标记为过时。

您将必须写出要转换的每个数据集的逻辑路径,即使这意味着它们已传递到生成的转换中。至少需要有一些一致的记录来记录哪些数据集被哪个提交作为目标。

实现您正在寻找的另一种策略是制作一个长数据集,该数据集是数据集的原始版本。这样,您可以将APPEND个新的行/文件简化为该数据集,这将允许您接受任意输入,前提是您的转换是以这种方式构造的。 我的经验法则是:如果您需要动态模式或数据集的动态计数,那么最好在单个数据集中使用动态文件/行数。