Delta Lake參數(shù)
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
本文介紹一些Delta中比較重要的參數(shù)。
Delta的設(shè)置參數(shù)分為三類:
Spark SQL設(shè)置,即設(shè)置SQL運(yùn)行時(shí)的參數(shù)。
運(yùn)行時(shí)參數(shù),即可以在Session中動(dòng)態(tài)設(shè)置的參數(shù),以
spark.databricks.delta.
前綴開頭。非運(yùn)行時(shí)參數(shù),只能夠在Spark的配置文件中配置為全局參數(shù),或者建表時(shí)在
TBLPROPERTIES
中指定為表參數(shù)。表參數(shù)的優(yōu)先級(jí)高于全局參數(shù)。當(dāng)設(shè)置為全局參數(shù)時(shí),配置前綴為spark.databricks.delta.properties.defaults.
,當(dāng)設(shè)置為TBLPROPERTIES
時(shí),前綴為delta.
。
參數(shù) | 描述 |
| 默認(rèn)值為10。 此參數(shù)為delta log元數(shù)據(jù)的partition數(shù)量。當(dāng)delta log特別大時(shí),需要增大此值,反之減小此值的設(shè)置。該值的大小對(duì)于delta table的解析性能影響較大。 |
| 默認(rèn)值為true。 清理墓碑文件時(shí)是否進(jìn)行安全期檢查。 警告 如果您想刪除近期合并過(guò)的小文件,可以設(shè)置此參數(shù)為false,來(lái)關(guān)閉此安全檢查,但不建議您關(guān)閉此檢查,這樣可能會(huì)刪除近期的數(shù)據(jù)而造成數(shù)據(jù)讀寫失敗。 |
| 默認(rèn)值為false。 Delta有校驗(yàn)寫入數(shù)據(jù)是否符合表定義Schema的功能,用于保證寫入數(shù)據(jù)的正確性。當(dāng)您數(shù)據(jù)的Schema發(fā)生變更后,需要在寫入數(shù)據(jù)時(shí)在option中顯示指定 |
| 默認(rèn)值為interval 1 week。 Delta墓碑文件的安全期。清空未超過(guò)安全期內(nèi)的墓碑文件將會(huì)拋出異常(如果 說(shuō)明 此值應(yīng)當(dāng)大于等于1個(gè)小時(shí)。 |
| 默認(rèn)值為interval 30 days。 Delta log文件過(guò)期時(shí)間。Delta log過(guò)期被定義為:
|
| 默認(rèn)值為1000。 此參數(shù)為Delta掃描文件時(shí)所用的并行度。如果文件數(shù)量較少,則減小此值。目前僅使用在Vacuum中。如果設(shè)置不當(dāng),影響Vacuum掃描文件的效率。 說(shuō)明 此參數(shù)為Spark SQL參數(shù)。 |