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

磚扔錯誤”SQL DW未能執行JDBC查詢由連接器。”而把列字符串長度超過255人

bhaumikg
新的貢獻者二世

我使用磚來轉換數據,並將數據推入datalake。

數據正在推動如果字符串字段的長度是255或更少,但拋出錯誤如果除此之外。

“SQL DW未能執行JDBC查詢產生的連接器。

底層SQLException異常(s): - com.microsoft.sqlserver.jdbc。SQLServerException: HdfsBridge:: recordReaderFillBuffer——意想不到的錯誤遇到填充記錄讀者緩衝:HadoopSqlException:將截斷字符串或二進製數據。[ErrorCode = 107090] [SQLState = S0001”

我用以下代碼來將數據傳送到數據倉庫

testdf.write

.format (“com.databricks.spark.sqldw”)。

選項(“url”, sqlDwUrlSmall)。

選項(“數據表”、“dbo.testAddress”)。

選項(“forward_spark_azure_storage_credentials”,“真正的”)

tempdir .option (“tempdir”)

.mode(“覆蓋”)

.save ()

這個表隻有一列,這個字段的長度是4000。

7回複7

jamesferrisjr
新的貢獻者二世

@bhaumikg我認為這鏈接在這裏解釋發生了什麼:https://kb.informatica.com/solution/23/pages/68/563577.aspx蜂巢metastore列在表TABLE_PARAMS PARAM_VALUE數據類型,可能是4000年的長度。因此當您試圖加載記錄大於得到的:“將截斷字符串或二進製數據”。

leonarbe
新的貢獻者二世
我有一個類似的問題與ms sql Azure服務器數據倉庫(DWH)

盡管我已經設置目標列在MS SQL Server DWH nvarchar (4000)

這是代碼:

spark.conf。(“spark.sql.parquet設置。writeLegacyFormat”、“真實”)dwDF.write.format (com.databricks.spark.sqldw) .option (“url”, sqlDwUrlSmall) .option(“數據表”,表名).option .option (“forward_spark_azure_storage_credentials”、“true”) (“tempdir”, tempdir) .mode(“覆蓋”).save ()

我得到以下錯誤。

——com.microsoft.sqlserver.jdbc。SQLServerException: HdfsBridge:: recordReaderFillBuffer——意想不到的錯誤遇到填充記錄讀者緩衝:HadoopSqlException:將截斷字符串或二進製數據。[ErrorCode = 107090] [SQLState = S0001]

hasitha
新的貢獻者二世

關於這種情況我也有同樣的問題。

創建表[dbo] [SampleTable14]。

(

[名字]varchar(8000)為空,

(姓)nvarchar(300)為空,

(性別)nvarchar(300)為空,

[地點][nvarchar](300)為空,

[subscription_type] [nvarchar](300)零

)

(

= ROUND_ROBIN分布,

集群COLUMNSTORE索引

)

我也試著通過最大化表長度為1000年和8000年數據長度。

ZAIvR
新的貢獻者二世

你必須設置maxStrLength選項值大於你的源數據最長的字符串

synapseDF。寫\ .format (com.databricks.spark.sqldw) \ .option (“url”, connStr) \ .mode(“追加”)\ .option (“tempDir”, synapse_tempDir) \ .option (“forwardSparkAzureStorageCredentials”,“真正的”)\ .option (“maxStrLength”、“1024”) \ .option(“數據表”,synapse_targetschema +“。”+ synapse_targettable ) \ .save()

突觸創建一個臨時的外部表加載數據與混合基,所以即使你創建你的目標表列的適當的寬度,你仍然可以截斷誤差從這個臨時表如果你不設置maxStrLength

歡迎來到磚社區:讓學習、網絡和一起慶祝

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

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

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

Baidu
map