取消
顯示的結果
而不是尋找
你的意思是:

如何注冊一個JDBC火花方言在Python中?

User16765131552
貢獻者三世

我想從一個磚表讀取。我已經使用url從磚的集群。我得到這個錯誤:

java.sql。SQLDataException(辛巴):(JDBC)(10140)錯誤將值轉換為int。

在這些語句:

jdbcConnUrl = " jdbc:火花:/ /亞行.....”testquery = " (select *從db。表3)限製“testdf = spark.read.format (jdbc)。選項(“url”, jdbcConnUrl)。選項(“數據表”,testquery)。選項(“fetchsize”、“10000”) .load () testdf.show ()

我遇到過所有Scala解決這個問題但是我使用python。我想要一個python相當於這段代碼:

進口org.apache.spark.sql.jdbc。{JdbcDialect, JdbcDialects} JdbcDialects。registerDialect(新JdbcDialect(){覆蓋def canHandle (url:字符串):布爾= url.toLowerCase.startsWith (" jdbc:火花:")覆蓋def quoteIdentifier(列:String):字符串列}=)

6個回答6

KKDataEngineer
新的貢獻者三世

有解決方案嗎?

@Kaniz

我能夠解決這個問題

  • 將此代碼添加到一個簡單的scala類對象的方法
  • 包成一個JAR文件
  • 現在安裝JAR文件在集群上執行JDBC代碼。
  • 添加以下行代碼在執行JDBC代碼之前您pyspark代碼。這將執行從scala類,類和方法直接在您的JVM。
    spark.sparkContext._jvm。< scalaclass完全限定>。<法>
歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map