gpt4 book ai didi

Python:从 ADLS 文件夹中查找重命名并移动 JSON 文件

转载 作者:行者123 更新时间:2023-12-03 06:23:27 24 4
gpt4 key购买 nike

总体而言,对于 Python 和 Databricks 来说非常陌生。我已从数据工厂转移到此平台。

我有一个 Databricks Notebook,它查询 API 并最终在目录中创建输出文件。

这些输出文件是熟悉的“_comfilled..”和“_started..”文件以及一个 .json 文件。

我希望能够指定包含我的数据的文件夹,找到 json 文件的名称,将该文件移动到另一个目录并在此过程中重命名。

我一直在使用这个答案中的代码,但我认为这只会在本地文件系统上真正起作用,因为它使用“os” - Move and Rename files using Python

这是我损坏的代码。它出错,因为找不到文件/位置

import os

ORIGINAL_FOLDER = "/mnt/datalake/raw/Group/CompanyName/API/JSON/Campaign_Tags/"

NEW_FOLDER = "/mnt/datalake/cleansed/Group/CompanyName/API/JSON/Campaign_Tags/"

for path in os.listdir(ORIGINAL_FOLDER): # all files in the folder

if not path.endswith(".json"):

continue

name = "Campaign_Tags.json"

os.rename(ORIGINAL_FOLDER + path, NEW_FOLDER + name)

理想的输出是将 json 重命名为 ADLS 上“新文件夹”目录中的 Campaign_tags.json

最佳答案

要从 databricks 中的 ADLS 文件夹中查找并重命名文件,首先需要创建挂载点。

dbutils.fs.mount(source = "wasbs://container_name@storage_account_name.blob.core.windows.net",
mount_point = "/mnt/fsn2p",
extra_configs = {"fs.azure.account.key.storage_account_name.blob.core.windows.net":"<access_key>"})

然后列出文件有 dbutils databricks 中的函数,您可以通过它列出来自 databricks 的 ADLS 中的移动、复制、列表文件。

ORIGINAL_FOLDER = "/mnt/fsn2p/demo1"
NEW_FOLDER = "/mnt/fsn2p/demo"

for fi in dbutils.fs.ls(ORIGINAL_FOLDER): # all files in the folder
if not fi.path.endswith(".json"):
continue
moved_file = fi.path.split("/")[-1]
print(moved_file)

name = "Campaign_Tags.json"
dbutils.fs.mv(ORIGINAL_FOLDER + "/" + moved_file, NEW_FOLDER + "/" +name)

包含 Json 文件的示例输入文件夹:

enter image description here

重命名 Json 文件的输出文件夹:

enter image description here

引用: Databricks Utilities

关于Python:从 ADLS 文件夹中查找重命名并移动 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75724163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com