databricks - 如何在databricks文件系统中移动相同扩展名的文件?
问题描述
当我尝试在 DBFS 中使用 * 移动文件时,我遇到了文件未找到异常。这里源目录和目标目录都在 DBFS 中。我在 dbfs 目录中有名为“test_sample.csv”的源文件,我正在使用笔记本单元格中的如下命令,
dbutils.fs.mv("dbfs:/usr/krishna/sample/test*.csv", "dbfs:/user/abc/Test/Test.csv")
错误:
java.io.FileNotFoundException: dbfs:/usr/krishna/sample/test*.csv
我很感激任何帮助。谢谢。
解决方案
dbutils 当前不支持通配符。您可以移动整个目录:
dbutils.fs.mv("dbfs:/tmp/test", "dbfs:/tmp/test2", recurse=True)
或者只是一个文件:
dbutils.fs.mv("dbfs:/tmp/test/test.csv", "dbfs:/tmp/test2/test2.csv")
正如下面评论中提到的,您可以使用 python 来实现这个通配符逻辑。另请参阅我的以下答案中的一些代码示例。
推荐阅读
- java - gridgain 缓存访问性能:sql vs cache.getKey?
- python - 通过邮件发送创建的绘图
- google-play-games - 玩游戏服务 - 如何显示“玩游戏保存的进度”
- javascript - Jquery Change 功能不起作用 wordpress 管理仪表板
- php - 跨方法访问变量 Laravel PHP
- c# - 依赖注入:根据环境调用不同的服务
- javascript - Chrome 扩展:在页面上附加按钮并在单击附加元素后执行脚本
- javascript - 将日期从任何其他格式转换为 DDMMYYYY
- php - 如何使用 CodeIgniter 将图像保存在表单中
- laravel - 在 Laravel 6 中调用字符串上的成员函数 script()