Aracılığıyla paylaş


Azure Databricks ile PostgreSQL'i sorgulama

Bu örnek, JDBC sürücüsünü kullanarak PostgreSQL'i sorgular. Daha fazla bilgi için okuma, yazma, paralelliği yapılandırma ve sorgu aktarma konularında JDBC kullanarak veritabanlarını sorgulama'ya bakın.

Önemli

Eski sorgu federasyon belgeleri kullanımdan kaldırıldı ve güncelleştirilmeyebilir. Bu içerikte belirtilen yapılandırmalar Databricks tarafından resmi olarak onaylanmaz veya test edilmemektedir. Lakehouse Federation kaynak veritabanınızı destekliyorsa Databricks bunun yerine bunu kullanmanızı önerir.

JDBC kullanma

Piton

driver = "org.postgresql.Driver"

database_host = "<database-host-url>"
database_port = "5432" # update if you use a non-default port
database_name = "<database-name>"
table = "<table-name>"
user = "<username>"
password = "<password>"

url = f"jdbc:postgresql://{database_host}:{database_port}/{database_name}"

remote_table = (spark.read
  .format("jdbc")
  .option("driver", driver)
  .option("url", url)
  .option("dbtable", table)
  .option("user", user)
  .option("password", password)
  .load()
)

Scala programlama dili

val driver = "org.postgresql.Driver"

val database_host = "<database-host-url>"
val database_port = "5432" # update if you use a non-default port
val database_name = "<database-name>"
val table = "<table-name>"
val user = "<username>"
val password = "<password>"

val url = s"jdbc:postgresql://${database_host}:${database_port}/${database_name}"

val remote_table = spark.read
  .format("jdbc")
  .option("driver", driver)
  .option("url", url)
  .option("dbtable", table)
  .option("user", user)
  .option("password", password)
  .load()

Databricks Runtime'da PostgreSQL bağlayıcısını kullanma

Databricks Runtime 11.3 LTS ve üzerinde, PosgresQL'i sorgulamak için adlandırılmış bağlayıcıyı kullanabilirsiniz. Aşağıdaki örneklere bakın:

Piton

remote_table = (spark.read
  .format("postgresql")
  .option("dbtable", "schema_name.table_name") # if schema_name not provided, default to "public".
  .option("host", "database_hostname")
  .option("port", "5432") # Optional - will use default port 5432 if not specified.
  .option("database", "database_name")
  .option("user", "username")
  .option("password", "password")
  .load()
)

SQL

DROP TABLE IF EXISTS postgresql_table;
CREATE TABLE postgresql_table
USING postgresql
OPTIONS (
  dbtable '<schema-name>.<table-name>' /* if schema_name not provided, default to "public". */,
  host '<database-host-url>',
  port '5432', /* Optional - will use default port 5432 if not specified. */
  database '<database-name>',
  user '<username>',
  password '<password>'
);

Scala programlama dili

val remote_table = spark.read
  .format("postgresql")
  .option("dbtable", "schema_name.table_name") # if schema_name not provided, default to "public".
  .option("host", "database_hostname")
  .option("port", "5432") # Optional - will use default port 5432 if not specified.
  .option("database", "database_name")
  .option("user", "username")
  .option("password", "password")
  .load()