

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# DataFreshness
<a name="dqdl-rule-types-DataFreshness"></a>

評估目前時間與日期欄值之間的差異，以檢查欄中資料的更新狀態。您可以為此規則類型指定以時間為基礎的運算式，確保欄值處於最新狀態。

**語法**

```
DataFreshness <COL_NAME> <EXPRESSION>
```
+ **COL\$1NAME** – 您要評估資料品質規則的欄名稱。

  **支援的欄類型**：日期 
+ **EXPRESSION** - 以小時或天為單位的數值運算式。您必須在運算式中指定時間單位。

**範例：資料更新狀態**

下列範例規則會檢查資料更新狀態。

```
DataFreshness "Order_Date" <= 24 hours
DataFreshness "Order_Date" between 2 days and 5 days
```

**Null 行為**

 具有 `NULL` 值的資料列的 `DataFreshness` 規則將會失敗。如果規則因 null 值而失敗，則失敗原因會顯示下列項目：

```
80.00 % of rows passed the threshold
```

 失敗的資料列中有 20% 包含具有 `NULL` 的資料列。

 下列範例複合規則提供明確允許 `NULL` 值的方法：

```
(DataFreshness "Order_Date" <= 24 hours) OR (ColumnValues "Order_Date" = NULL)
```

**Amazon S3 物件的資料新鮮度**

 有時，您需要根據 Amazon S3 檔案建立時間來驗證資料的新鮮度。若要這樣做，您可以使用下列程式碼來取得時間戳記，並將其新增至資料框架，然後套用「資料新鮮度」檢查。

```
df = glueContext.create_data_frame.from_catalog(database = "default", table_name = "mytable")
df = df.withColumn("file_ts", df["_metadata.file_modification_time"])

Rules = [
 DataFreshness "file_ts" < 24 hours 
]
```