ADLS - 从 SQL 模式的 Databricks 访问 ADLS

问题描述

在 Databricks 中,我们可以在 Python 模式下基于以下身份验证代码访问 ADLS 文件。但是当我尝试对 sql 模式进行身份验证时出现以下错误。请帮助我们获取有关如何在 sql 中声明身份验证的信息。

蟒蛇:

spark.conf.set("fs.azure.account.key.<your-storage-account-name>.dfs.core.windows.net","<access-key>")
df = spark.read.csv("abfss://<your-file-system-name>@<your-storage-account-name>.dfs.core.windows.net/<your-directory-name>/<your-file-name>")

sql: 参考:

错误

enter image description here

解决方法

您使用的语法不正确。变量应该用 SET keyword 设置,例如:

mean = df.loc[df['B'].eq(1),'A'].mean()
print (mean)
54.0

mask = df['A'].lt(mean) & df['B'].eq(-1)
df.loc[mask,'A'] = mean
print (df)
     A  B
0   54 -1
1   20  1
2   54 -1
3   40  1
4   50  1
5   60  1
6   70 -1
7   80 -1
8   90 -1
9  100  1

之后你就可以运行你的查询了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...