

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

現在の時刻と日付列の値との差を評価して、列内のデータがどの程度新しいかをチェックします。このルールタイプで時間ベースの式を指定することで、列の値を最新に保つことができます。

**[Syntax]** (構文)

```
DataFreshness <COL_NAME> <EXPRESSION>
```
+ **COL\$1NAME** – データ品質ルールを評価する対象となる列の名前。

  **列でサポートされる型**: Date 
+ **EXPRESSION** – 時間または日付の数値表現。表現の中では、時間単位を指定する必要があります。

**例: データの新しさ**

次のルール例では、データの新しさをチェックします。

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

**Null 動作**

 `DataFreshness` ルールは、`NULL` 値がある行を満たしません。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 
]
```