有可能時使用merge命令拚花源文件和目標文件是δ?或兩個文件必須三角洲文件?
目前,我使用這段代碼,我拚花轉變成三角洲和它的工作原理。但我想避免的轉型。
謝謝
從三角洲。表* deltaTablePeople = DeltaTable進口。forPath(火花,abfss: / / destination-delta) deltaTablePeopleUpdates = DeltaTable。forPath(火花,abfss: / / source-parquet) dfUpdates = deltaTablePeopleUpdates.toDF () deltaTablePeople.alias(人)\ .merge (dfUpdates.alias(“更新”)的人。id =更新。id) \ .whenMatchedUpdate(設置=…
嗨@Ales ventus,是的,可以使用merge命令當拚花格式的源文件和目標文件在三角洲格式。三角洲湖之間的互操作性提供了不同的文件格式,包括拚花。
你將鋪文件轉換為三角洲格式代碼片段之前執行合並操作。
然而,為了避免這種轉換步驟,您可以直接與三角洲合並拚花文件文件沒有轉換。三角洲湖將處理兩種格式之間的兼容性。
這裏有一個更新版本的代碼執行合並操作拚花源文件和三角洲目標文件:
從三角洲。表* deltaTablePeople = DeltaTable進口。forPath(火花,abfss: / / destination-delta) deltaTablePeopleUpdates = DeltaTable。forPath(火花,abfss: / / source-parquet) dfUpdates = deltaTablePeopleUpdates.toDF () deltaTablePeople.alias(人)\ .merge (dfUpdates.alias(“更新”)的人。id =更新。id) \ .whenMatchedUpdate(設置=…).whenNotMatchedInsert(值=…). execute ()
確保替換組=…和值=…適當的更新和插入操作期間你想執行合並。
記住包括必要的依賴項和配置與三角洲湖和拚花文件引發環境。