在 Azure 数据工厂或 Azure 逻辑应用中将 Delta 表转换为 JSON

Converting Delta table into JSON in Azure Data Factory or Azure Logic Apps

提问人:Toyesh Gupta 提问时间:11/16/2023 最后编辑:Alex OttToyesh Gupta 更新时间:11/21/2023 访问量:94

问:

因此,我的表包含超过 5000 万条记录,因此以增量格式而不是 CSV 存储,并存储在 Azure Data Lake Storage Gen2 中。我想在 Azure 数据工厂或 Azure 逻辑应用中将它们转换为 JSON 格式,以便将它们拉取到 Azure 认知搜索服务中,以便稍后将其与 Azure OpenAI 集成,以获取使用特定于我的组织的上下文知识生成的答案。

我不知道如何实现它,我也找不到人们这样做的资源或例子。我什至不确定这是否可能

JSON azure-cognitive-search delta-lake

评论

0赞 Rakesh Govindula 11/16/2023
你能提供你到目前为止尝试过的东西吗?错误/阻止者?示例输入和预期输出?
0赞 Toyesh Gupta 11/17/2023
我什至不知道是否可以做到

答:

0赞 Balaji 11/21/2023 #1

使用 ADF 中的复制活动将数据从增量表复制到数据湖 此处的 Json:复制活动接收器不支持 Json 文件,因此先复制到 csv 文件,然后再使用另一个复制活动将此 csv 文件转换为 Json 文件。有关分步过程,请参阅文档

还可以尝试 databricks 作为另一种解决方法,请按照以下步骤操作:

步骤1:在数据块笔记本中将增量表作为 Spark 数据帧读取。

df=spark.sql("select * from <delta table name>")

步骤2:创建数据湖 gen2 的挂载点

dbutils.fs.mount(source = "wasbs://<container name>@<storage acc name>.blob.core.windows.net",
                 mount_point = "/mnt/<mount_point>",
                 extra_configs = {'fs.azure.account.key.<storage acc name>.blob.core.windows.net': '<access key>'}
)

步骤3:使用上述挂载点将数据帧写入 Json

df.coalesce(1).write.mode("overwrite").json('/mnt/<mount point>/myjson.json')

enter image description here

增量表数据将复制到 Json,如下例所示:

enter image description here