Home > Enterprise >  Unable to connect to jdbc using spark scala
Unable to connect to jdbc using spark scala

Time:12-23

Im trying to read data from jdbc in spark scala. Below is the code written in spark scala in Databricks.

val df = (spark
  .read
  .format("jdbc")
  .option("url", <connection-string>)
  .option("dbtable", <table-name>)
  .option("user", <username>)
  .option("password", <password>)
  .option("ssl", True)
  .option("sslmode", "require")
 .load()

Im getting the below error message.

java.sql.SQLNonTransientConnectionException: Could not connect to 10.6.8.86:3306 : PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Could someone please let me know how to resolve this issue.

CodePudding user response:

The certificate used by your host is not trusted by java.

Solution 1 (Easy, not recommended)

Disabled certificate checking and always trust the certificate provided by server.

Add trustServerCertificate property.

val df = (spark
  .read
  .format("jdbc")
  .option("url", <connection-string>)
  .option("dbtable", <table-name>)
  .option("user", <username>)
  .option("password", <password>)
  .option("ssl", True)
  .option("trustServerCertificate", True)
  .option("sslmode", "require")
 .load()

Solution 2 (Difficult, Recommended)

Get the certificate and store it in the trusted store of your system.

Read more about it here

  • Related