我有一个Scala测试用例,它使用org.apache.spark.sql.DataFrameWriter#save
方法将数据帧保存到临时目录。
临时目录是通过scala代码通过java.lang.System#getProperty("java.io.tmpdir")
调用获得的。
这在我的Linux(Ubuntu)盒和其他Windows盒上都很好用。但是,当我尝试在Mac上运行相同的测试用例时,出现错误:java.io.IOException: Failed to create local dir in /private/var/folders/l1/60qsk0rn37g79qxc39_46qkc0000gn/T/blockmgr-73419176-04da-416c-9299-f0b12349818f/0e
我正在运行最新的Mac OS 10.14(Mojave)。昨天刚升级。
我还使用了com.holdenkarau:spark-testing-base_2.10:1.5.0_0.6.0
和org.apache.spark:spark-core_2.10:1.6.0
这是完整堆栈跟踪的粘贴框:https://pastebin.com/7rGb3ffc
df -h /private/var/folders/l1/60qsk0rn37g79qxc39_46qkc0000gn/T/
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1s1 234Gi 139Gi 92Gi 61% 932432 9223372036853843375 0% /
ls -ld /private/var/folders/l1/60qsk0rn37g79qxc39_46qkc0000gn/T/
drwxr-xr-x 24 <me> staff 768 Oct 25 12:51 /private/var/folders/l1/60qsk0rn37g79qxc39_46qkc0000gn/T/
whoami
<me>
如何让Mac OS给我正确的tmp目录?