はじめに
ETL処理でデータソース元の更新件数が0件の場合を判定するときに、一般的に以下の処理を行うことがあるかと思います。
本記事で出てくる変数「dyf」はDynamicFrame形式、「df」はDataFrame形式を表してます。
if dyf.count() > 0:
~~ データ加工処理 ~~
しかし、count()はとても高価な処理であるため、サーバーのスペック不足や処理時間が長くなってしまうことがあります。
そのため、他の方法で0件を判定するためのスクリプトを考えました。
データソース元にレコードが存在するかどうかを確認する方法
①:head、lenを利用する方法
df = dyf.toDF()
if len(df.head(1)) == 0:
~~ データ加工処理 ~~
②:limitを利用する方法
df = dyf.toDF()
if df.limit(1).count() > 0:
~~ データ加工処理 ~~
さいごに
count()による高価な処理で苦戦されている方は試してみてください!!