嗨親愛的團隊,
我試圖從磚Exasol DB導入數據。
我使用下麵代碼在火花版本是3.0.1,
dfw。寫\ .format (jdbc) \ .option(“司機”,exa_driver) \ .option (“url”, exa_url) \ .option(“數據表”,“表”)\ .option(“用戶”,用戶名)\ .option(“密碼”,exa_password) \ .option(“截斷”,“真正的”)\ .option (“numPartitions”、“1”) \ .option (“fetchsize”、“100000”) \ .mode(“覆蓋”)\ .save ()
問題是“覆蓋”模式時,它總是把目標表在Exasol db,盡管在火花文檔(https://spark.apache.org/docs/3.0.1/sql-data-sources-jdbc.html的內容)它說“截斷”選項
截斷- - >這是一個JDBC作家相關選項。當SaveMode。啟用了覆蓋,這個選項會導致火花截斷現有表而不是刪除和重建。這可以更有效率,並防止表元數據(例如,指數)被移除。然而,它不會工作在某些情況下,例如當新的數據有不同的模式。默認值為false。此選項僅適用於寫作。
根據這一解釋,我期望與選擇(“截斷”,“真正的”),它不應該下降但截斷。然而它滴桌子上甚至在這種情況下。注意:我們可以有單獨的截斷命令和append模式,但我不希望有額外的第二個命令但解決在一個命令,建議在Exasol文檔(https://github.com/exasol/spark-exasol-connector/blob/main/doc/user_guide/user_guide.md spark-save-m……)。
我丟失的東西或者你有解決嗎?
我用以下麵臨著同樣的問題:
sfOptions = {
:“sfURL <帳戶>。snowflakecomputing.com”,
“sfAccount”:“< >”,
“sfUser”:“<用戶>”,
“sfPassword”:“* * *”,
數據庫“sfDatabase”:“< >”,
“sfSchema”:“<模式>”,
倉庫“sfWarehouse”:“< >”,
“truncate_table”:“在”,
“usestagingtable”:“關閉”,
}