我想从Jupyter笔记本中分离配置变量。所以我想我会将所有这些变量放在一个单独的json文件中。我使用Azure HDInsight并且不想依赖存储帐户名和密钥来访问此文件,因为它们本身就是配置变量。
所以我认为将此配置json文件存储在与笔记本位置相同的目录中可以解决此问题,并且还允许更改此配置文件而无需将Python脚本作为it is also saved in storage account。
但是,Python无法读取位于同一目录下的此文件(参见屏幕截图)
Notebook Home:
答案 0 :(得分:1)
我发现这是因为用户和权限不同。
Notebook正在使用用户livy
运行,当我运行magic命令时,用户为spark
。因此,pwd
magic命令将工作目录显示为/var/lib/jupyter
(这非常令人困惑),它包含笔记本主页上显示的所有文件。
为了解决我的问题,我可以使用带路径的wasp(没有容器和存储帐户主机名,因为它存储在默认存储中)。
config = spark.read.json("wasb:///HdiNotebooks/config.json")
这样我就在spark代码中删除了容器名称和存储帐户名称硬编码。