1

我想知道是否有任何方法可以在不使用 transform_df 或在代码存储库中转换的情况下导入文件。

基本上我想从数据集中提取数据并返回列表中的所有值。如果我使用 transform 或 transform_df 装饰器,那么在调用返回函数时我将无法访问该输入文件。

4

1 回答 1

0

您是否尝试访问数据集中的原始文件?使用文件系统 API 可以做到这一点。在您的堆栈文档中搜索“原始文件访问”,您可以在其中找到示例 python 代码。你仍然使用@transform装饰器,除了不叫.dataframe()你 call .filesystem()。这是一些示例代码。

import csv
with hair_eye_color.filesystem().open('students.csv') as f:
    reader = csv.reader(f, delimiter=',')
    next(reader)
    next(reader)
# ['id', 'hair', 'eye', 'sex']
# ['1', 'brown', 'brown', 'M']

您可以使用文件数据创建 Spark 数据帧并将其写入输出。

于 2021-08-05T15:13:53.720 回答