你好,我們最近做了一個升級到磚倉庫,從SQL經典過渡到SQL PRO。然而,我們遇到以下錯誤消息,當試圖執行“插入”表查詢”取代“謂詞,雇傭了”“操作日期列。這個查詢以前工作正常與經典的倉庫。
錯誤信息:
2023-05-17(類java.time.LocalDate)
重現步驟:
1。上創建一個源表分區的產品和country_code和插入值。
創建或替換表< catalog_name >。“違約”。“source_sales”(product_code int、產品字符串,country_code字符串,txn_date日期,int)用δ分區(產品、country_code);插入< catalog_name >。“違約”。“source_sales”值(“12”,“product1”,“在”,日期“2023-04-19”,1234年),(“21”、“product2”,“在”,日期“2023-04-20”,1243年),(“34”,“product3”,“在”,日期“2023-04-21”,2345年),(“56”、“product4”,“英國”,日期“2023-05-03”,3456年),(‘78’,‘product5’,‘我們’,日期“2022-05-17”,3214年),(‘89’,‘product6’,‘我們’,日期“2022-05-18”,3254年);
2。創建一個目標表插入所有從源表選中列的值。插入應該成功
創建或替換表< catalog_name >。“違約”。target_sales用δ分區(產品、country_code) tblproperties (“spark.databricks.delta.replacewhere.constraintcheck.enabled”=“假”)作為選擇產品,country_code, txn_date,從< catalog_name >。“違約”。“source_sales”;
3所示。更新和在源表中插入新行
更新< catalog_name >。“違約”。“source_sales”設置數量= ' 1200 ' country_code在(“的”,“我們”);插入< catalog_name >。“違約”。“source_sales”值(‘91’,‘product7’,‘我們’,日期“2023-05-19”,5678年);
4所示。更新/選擇性地覆蓋目標表替代的地方
創建或替換臨時視圖的sales_temp選擇產品,country_code txn_date、數量,從< catalog_name >。“違約”。“source_sales”country_code在(“的”,“我們”);插入表< catalog_name >。“違約”。target_sales取代,((country_code =‘我們’和產品=“product3”和txn_date(“2023-05-17”,“2023-05-18”,“2023-05-19”))或(country_code =””和產品=“product1”和txn_date (“2023-04-19”,“2023-04-20”,“2023-04-21”))) select * from (“sales_temp”);
期望的行為:
target_sales表應該從source_sales更新數據表按條件的替代
觀察到的行為:
當我們使用txn_date列以及“在”運營商在取代謂詞得到錯誤為:2023-05-17(類java.time.LocalDate)
版本:
LTS磚運行時版本:12.2
JDBC URL: 2.6.25或更高版本
渠道:當前(2023.30 v)
注意:
錯誤描述提供了很少的信息這一問題,因此沒能找到解決辦法。我們將感謝任何幫助或指導你可以提供解決這一問題。提前謝謝你的幫助。