【问题标题】:How to import and read data from a dataset without using transform or transform_df in palantir foundry?如何在不使用 palantir Foundry 中的 transform 或 transform_df 的情况下从数据集中导入和读取数据?
【发布时间】:2021-08-05 23:13:53
【问题描述】:

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

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

【问题讨论】:

  • 您是否尝试过使用df.collect()?这将允许您将数据框转换为 python 行列表
  • 一旦数据集在没有 transform 或 transform_df 的情况下导入,那么我可以使用 df.collect() 来获取该数据框中的值,但是如何在没有 transform 或 transform_df 的情况下导入数据集??
  • 你想通过在 transform/transform_df 之外使用它来实现什么?

标签: pyspark palantir-foundry foundry-code-repositories


【解决方案1】:

您是否尝试访问数据集中的原始文件?使用文件系统 API 可以做到这一点。在您的堆栈文档中搜索“原始文件访问”,您可以在其中找到示例 Python 代码。你仍然使用@transform 装饰器,除了调用.dataframe() 而不是调用.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-02-12
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 2022-08-19
    • 2021-03-14
    相关资源
    最近更新 更多