3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Glueジョブ(PySpark)によるETL処理時にデータソース元の件数が0件の場合のうまい対処法

Last updated at Posted at 2023-02-28

はじめに

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()による高価な処理で苦戦されている方は試してみてください!!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?