查询表名称

问题描述 投票:0回答:1

我已被授予访问数据库的权限。我正在从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)

对数据库的访问已通过身份验证。

jdbc pyspark
1个回答
0
投票

在SQL Server本身中:

select *
  from sys.tables

不确定是否使用同义词作为进入sys模式的方式。

val tables = spark.read.jdbc(jdbc_url, "sys.tables", connectionProperties)
tables.select(...

如果您有同义词,请用sys.tables替换。有不同的书写方式,您可以使用表格或自己的SQl方法。这是表格方法。

© www.soinside.com 2019 - 2024. All rights reserved.