1

我正在尝试实现一个非常简单的单个 get 调用,并且响应返回一些带有一堆由换行符分隔的 id 的文本(如单个 column csv)。我想将每一个保存为数据集中的一行。

我知道通常 Rest 连接器将每个响应保存为avro文件中的新行,这对于 json 响应非常有效,然后可以在代码中进行解析。

但是在我的情况下,我需要它来将响应保存在一个txtcsv文件中,然后我可以应用一个模式,将每个 id 放在自己的行中。我怎样才能做到这一点?

4

1 回答 1

0

默认情况下,Data Connection 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'

如果您不知道格式,或者无论如何上述方法都不起作用,则需要在转换中解析响应以将其拆分为单独的行,这可以像响应是字符串列一样完成,在此在换行符 ( ) 上拆分爆炸的情况可能有用:\nF.explode(F.split(F.col("response"), r'\n'))

于 2022-03-02T17:21:38.487 回答