我已被授予访问数据库的权限。我正在从Spark集群查询数据。如何检查我有权访问的所有数据库/表?
jdbcUrl = "jdbc:sqlserver://{0}:{1};database={2};user='{3}';password='{4}'".format(jdbcHostname, jdbcPort, jdbcDatabase, jdbcUsername, jdbcPassword)
connectionProperties = {
"user" : jdbcUsername,
"password" : jdbcPassword,
"driver" : "com.microsoft.sqlserver.jdbc.SQLServerDriver"
}
df = spark.read.jdbc(url=jdbcUrl, properties=connectionProperties)
对数据库的访问已通过身份验证。
在SQL Server本身中:
select *
from sys.tables
不确定是否使用同义词作为进入sys模式的方式。
val tables = spark.read.jdbc(jdbc_url, "sys.tables", connectionProperties)
tables.select(...
如果您有同义词,请用sys.tables替换。有不同的书写方式,您可以使用表格或自己的SQl方法。这是表格方法。