Jdbc 查询表名称

Jdbc 查询表名称,jdbc,pyspark,Jdbc,Pyspark,我被允许访问数据库。我正在查询来自spark群集的数据。如何检查我有权访问的所有数据库/表 jdbcUrl = "jdbc:sqlserver://{0}:{1};database={2};user='{3}';password='{4}'".format(jdbcHostname, jdbcPort, jdbcDatabase, jdbcUsername, jdbcPassword) connectionProperties = { "user" : jdbcUsername, "pa

我被允许访问数据库。我正在查询来自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查询方法。这就是表格方法。下面是SQL查询方法下的一个示例:

val dataframe_mysql = spark.read.jdbc(jdbcUrl, "(select k, v from sample order by k DESC) e", connectionProperties)  
我刚刚意识到的SCALA版本

pyspark

见:

同样的方法,但针对本案例,研究生:

jdbcDF = spark.read \
    .format("jdbc") \
    .option("url", "jdbc:postgresql:dbserver") \
    .option("dbtable", "schema.tablename") \
    .option("user", "username") \
    .option("password", "password") \
    .load()
JDBC加载和保存可以通过加载/保存或JDBC方法实现,请参阅指南