问题描述
我正在尝试在单个Pyspark转换中从单个目录读取(全部或多个)数据集。是否可以遍历路径中的所有数据集,而无需将各个数据集硬编码为输入?
我想从多个数据集中动态获取不同的列,而不必对各个输入数据集进行硬编码。
解决方法
所以这不起作用,因为每次运行CI时结果都会不一致。这将破坏TLLV(转换级逻辑版本控制),因为它无法分辨逻辑何时真正更改,从而将数据集标记为过时。
您将必须写出要转换的每个数据集的逻辑路径,即使这意味着它们已传递到生成的转换中。至少需要有一些一致的记录来记录哪些数据集被哪个提交作为目标。
实现您正在寻找的另一种策略是制作一个长数据集,该数据集是数据集的原始版本。这样,您可以将APPEND
个新的行/文件简化为该数据集,这将允许您接受任意输入,前提是您的转换是以这种方式构造的。
我的经验法则是:如果您需要动态模式或数据集的动态计数,那么最好在单个数据集中使用动态文件/行数。