Foundry 数据连接 Rest 响应作为行
Foundry Data Connection Rest responses as rows
我正在尝试实现一个非常简单的单个 get 调用,响应 returns 一些文本,其中包含一堆由换行符分隔的 ID(如单列 csv
)。我想将每个保存为数据集中的一行。
我知道一般来说,Rest 连接器将每个响应保存为 avro
文件中的新行,这适用于 json 响应,然后可以在代码中解析这些响应。
但是在我的例子中,我只需要将响应保存在 txt
或 csv
文件中,然后我可以对其应用模式,将每个 ID 放在自己的行中。我怎样才能做到这一点?
默认情况下,数据连接 Rest 连接器会将来自 API 的每个响应作为输出数据集中的一行。如果您知道响应的格式类型,并且它通常会被解析为每行一行(例如 csv
),您可以尝试将 outputFileType
设置为正确的格式(未定义默认情况下)。
例如(有关详细信息,请参阅 REST API Plugin
文档):
type: rest-source-adapter2
outputFileType: csv
restCalls:
- type: magritte-rest-call
method: GET
path: '/my/endpoint/file.csv'
如果您不知道格式,或者以上方法无论如何都不起作用,您将需要解析转换中的响应以将其拆分为单独的行,这可以像响应是字符串列,在这种情况下 exploding after splitting 换行 (\n
) 可能有用:F.explode(F.split(F.col("response"), r'\n'))
我正在尝试实现一个非常简单的单个 get 调用,响应 returns 一些文本,其中包含一堆由换行符分隔的 ID(如单列 csv
)。我想将每个保存为数据集中的一行。
我知道一般来说,Rest 连接器将每个响应保存为 avro
文件中的新行,这适用于 json 响应,然后可以在代码中解析这些响应。
但是在我的例子中,我只需要将响应保存在 txt
或 csv
文件中,然后我可以对其应用模式,将每个 ID 放在自己的行中。我怎样才能做到这一点?
默认情况下,数据连接 Rest 连接器会将来自 API 的每个响应作为输出数据集中的一行。如果您知道响应的格式类型,并且它通常会被解析为每行一行(例如 csv
),您可以尝试将 outputFileType
设置为正确的格式(未定义默认情况下)。
例如(有关详细信息,请参阅 REST API Plugin
文档):
type: rest-source-adapter2
outputFileType: csv
restCalls:
- type: magritte-rest-call
method: GET
path: '/my/endpoint/file.csv'
如果您不知道格式,或者以上方法无论如何都不起作用,您将需要解析转换中的响应以将其拆分为单独的行,这可以像响应是字符串列,在这种情况下 exploding after splitting 换行 (\n
) 可能有用:F.explode(F.split(F.col("response"), r'\n'))