注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

トランスフォームクラス

クラス説明
CheckExpectation をラップして Data Health に登録できるようにします。
FileStatusFoundryFS ファイルの詳細をキャプチャする collections.namedtuple。
FileSystem(foundry_fs[, read_only])データセットファイルを読み書きするためのファイルシステムオブジェクト。
IncrementalTransformContext(ctx, is_incremental)増分計算用の機能が追加された TransformContext。
IncrementalTransformInput(tinput[, prev_txrid])増分計算用の機能が追加された TransformInput。
IncrementalTransformOutput(toutput[, …])増分計算用の機能が追加された TransformOutput。
Input(alias)トランスフォーム入力の仕様。
Output(alias[, sever_permissions])トランスフォーム出力の仕様。
Pipeline()トランスフォームオブジェクトのコレクションをグループ化するオブジェクト。
Transform(compute_func[, inputs, outputs, ...])計算の単一ステップを記述する呼び出し可能なオブジェクト。
TransformContext(foundry_connector[, parameters])`トランスフォームの計算関数にオプションで注入できるコンテキストオブジェクト。
TransformInput(rid, branch, txrange, …)実行時に Transform オブジェクトに渡される入力オブジェクト。
LightweightInput(alias)実行時に Lightweight Transform オブジェクトに渡される入力オブジェクト。
IncrementalLightweightInput(alias)実行時に増分 Lightweight Transform オブジェクトに渡される入力オブジェクト。
TransformOutput(rid, branch, txrid, …)実行時に Transform オブジェクトに渡される出力オブジェクト。
LightweightOutput(alias)実行時に Lightweight Transform オブジェクトに渡される入力オブジェクト。

Check

class transforms.api.Check

Expectation をラップして Data Health に登録できるようにします。

  • expectation
    • Expectation – 評価する Expectation。
  • name
    • str – 時間を通じて安定した識別子として使用されるチェックの名前。
  • is_incremental
    • bool – トランスフォームが増分で実行されているかどうか。
  • on_error
    • (str, Optional) – Expectation が満たされなかった場合に実行するアクション。現在は 'WARN' と 'FAIL' がサポートされています。
  • description
    • (str, Optional) – チェックの説明。

FileStatus

class transforms.api.FileStatus

FoundryFS ファイルの詳細をキャプチャする collections.namedtuple

新しい FileStatus(path, size, modified) インスタンスを作成します。

  • count(value) → integer -- value の出現回数を返します。
  • index(value[, start[, stop]]) → integer -- value の最初のインデックスを返します。
    • value が存在しない場合は ValueError を発生させます。
  • modified
    • フィールド番号 2 のエイリアス。
  • path
    • フィールド番号 0 のエイリアス。
  • size
    • フィールド番号 1 のエイリアス。

FileSystem

class transforms.api.FileSystem(foundry_fs, read_only=False)

データセットファイルを読み書きするためのファイルシステムオブジェクト。

  • files(glob=None, regex='.*', show_hidden=False, packing_heuristic=None)
    • このデータセット内でアクセス可能なパスを含む DataFrame を作成します。
    • DataFrame はファイルサイズによってパーティション分けされ、各パーティションには spark.files.maxPartitionBytes バイト以下のサイズのファイルパスが含まれます。ファイルサイズが spark.files.maxPartitionBytes を超える場合は単一ファイルがパーティションに含まれます。ファイルのサイズはディスク上のファイルサイズに spark.files.openCostInBytes を加えたものとして計算されます。
    • パラメーター
      • glob (str ↗, optional) – Unix ファイルマッチングパターン。globstar をサポートします。例: ファイルを再帰的に検索するには **/*.pdf を使用します。
      • regex (str ↗, optional) – ファイル名に対してマッチさせる正規表現パターン。
      • show_hidden (bool ↗, optional) – 隠しファイルを含めます。先頭に ._ が付いたファイル。
      • packing_heuristic (str ↗, optional) – Spark パーティションにファイルをバンパックするために使用するヒューリスティックを指定します。可能な選択肢は ffd (First Fit Decreasing) または wfd (Worst Fit Decreasing) です。wfd は分布が不均一になる傾向がありますが、非常に高速なので、大量のファイルを含むデータセットには wfd を推奨します。ヒューリスティックが指定されていない場合は、自動的に選択されます。
    • 戻り値
      • (path, size, modified) の DataFrame。
    • 戻り値の型
      • pyspark.sql.DataFrame
  • ls(glob=None, regex='.*', show_hidden=False)
    • すべてのディレクトリを再帰的に検索し、ルートディレクトリから始めて指定されたパターンに一致するすべてのファイルをリストします。
    • パラメーター
      • glob (str ↗, optional) – Unix ファイルマッチングパターン。globstar をサポートします。例: ファイルを再帰的に検索するには **/*.pdf を使用します。
      • regex (str ↗, optional) – ファイル名に対してマッチさせる正規表現パターン。
      • show_hidden (bool ↗, optional) – 隠しファイルを含めます。先頭に ._ が付いたファイル。
    • 戻り値
      • FileStatus - 論理パス、ファイルサイズ (バイト)、修正タイムスタンプ (1970年1月1日UTCからのミリ秒)。
  • open(_path, mode='r', kwargs)
    • 指定されたモードで FoundryFS ファイルを開きます。kwargs はキーワード引数です。
    • パラメーター
      • path (str ↗) – データセット内のファイルの論理パス。
      • kwargs – 残りのキーワード引数は io.open() に渡されます。
      • show_hidden (bool ↗, optional) – 隠しファイルを含めます。先頭に ._ が付いたファイル。
    • 戻り値
      • ストリームに接続された Python のファイルのようなオブジェクト。
    • 戻り値の型
      • ファイル

IncrementalTransformContext

class transforms.api.IncrementalTransformContext(ctx, is_incremental)

増分計算用の機能が追加された TransformContext

  • auth_header
    • str – トランスフォームを実行するために使用される認証ヘッダー。
  • fallback_branches
    • List[str] – トランスフォーム実行時に設定されたフォールバックブランチ。
  • is_incremental
    • bool – トランスフォームが増分で実行されているかどうか。
  • parameters
    • dict of (str, any) – トランスフォームのパラメーター。
  • spark_session
    • pyspark.sql.SparkSession – トランスフォーム実行に使用される Spark セッション。

IncrementalTransformInput

class transforms.api.IncrementalTransformInput(tinput, prev_txrid=None)

増分計算用の機能が追加された TransformInput

  • dataframe(mode='added')
    • 指定された読み取りモードの pyspark.sql.DataFrame を返します。
    • current, previous および added モードのみがサポートされています。
    • パラメーター
      • mode (str ↗, optional) – 読み取りモード。current, previous, added, modified, removed のいずれか。デフォルトは added
    • 戻り値
      • データセットのデータフレーム。
    • 戻り値の型
  • filesystem(mode='added')
    • 指定された読み取りモードの FoundryFS から読み取るための FileSystem オブジェクトを構築します。
    • current, previous および added モードのみがサポートされています。
    • パラメーター
      • mode (str ↗, optional) – 読み取りモード。current, previous, added, modified, removed のいずれか。デフォルトは added
    • 戻り値
      • 指定されたビューのファイルシステムオブジェクト。
    • 戻り値の型
  • pandas()
    • pandas.DataFrame ↗: 入力データセットの全ビューを含む Pandas データフレーム。
  • branch
    • str – 入力データセットのブランチ。
  • path
    • str – 入力データセットのプロジェクトパス。
  • rid
    • str – データセットのリソース識別子。

IncrementalTransformOutput

class transforms.api.IncrementalTransformOutput(toutput, prev_txrid=None, mode='replace')

増分計算用の機能が追加された TransformOutput

  • abort()
    • トランザクションを中止し、データを書き込まずにジョブを正常に完了させます。詳細については Python Abort を参照してください。
  • dataframe(mode='current', schema=None)
    • 指定された読み取りモードの pyspark.sql.DataFrame ↗ を返します。
    • パラメーター
      • mode (str ↗, optional) – 読み取りモード。current, previous, added, modified, removed のいずれか。デフォルトは current
      • schema (pyspark.types.StructType, optional) - 空のデータフレームを構築する際に使用する PySpark スキーマ。読み取りモードが ‘previous’ の場合に必要。
    • 戻り値
      • データセットのデータフレーム。
    • 戻り値の型
    • 例外
      • ValueError - モード ‘previous’ 使用時にスキーマが渡されていない場合。
  • filesystem(mode='current')
    • FoundryFS に書き込むための FileSystem オブジェクトを構築します。
    • パラメーター
      • mode (str ↗, optional) – 読み取りモード。added, current または previous のいずれか。デフォルトは current。書き込み可能なのは現在のファイルシステムのみです。
    • 例外
  • pandas(mode='current')
  • set_mode(mode)
    • データセットの書き込みモードを変更します。
    • パラメーター
      • mode (str ↗) – 書き込みモード。‘replace’ または ‘modify’ のいずれか。modify モードでは出力に書き込まれたものはデータセットに追加されます。replace モードでは出力に書き込まれたものがデータセットを置き換えます。

データが書き込まれた後に書き込みモードを変更することはできません。

  • write_dataframe(df, partition_cols=None, bucket_cols=None, bucket_count=None, sort_by=None, output_format=None, options=None)
    • 指定された DataFrame ↗ を出力データセットに書き込みます。
    • パラメーター
      • df (_pyspark.sql.DataFrame ↗) – 書き込む PySpark データフレーム。
      • partition_cols (List[str ↗], optional) - データを書き込む際に使用する列のパーティション分け。
      • bucket_cols (List[str ↗], optional) – データをバケット化する列。bucket_count が指定されている場合に指定する必要があります。
      • bucket_count (int ↗, optional) – バケットの数。bucket_cols が指定されている場合に指定する必要があります。
      • sort_by (List[str ↗], optional) – バケット化されたデータをソートする列。
      • output_format (str ↗, optional) – 出力ファイル形式。
Copied!
1 2 3 4 5 6 7 8 # myprojectというモジュールをインポートする >>> import myproject # Pipelineクラスのインスタンスを作成する >>> p = Pipeline() # myproject内で定義されたデータ変換を探し出す >>> p.discover_transforms(myproject)

見つかった各モジュールはインポートされます。モジュールレベルでコードを実行することは避けてください。

  • transforms
    • List[Transform] – パイプラインに登録されているトランスフォームのリスト。

Transform

class transforms.api.Transform(compute_func, inputs=None, outputs=None, profile=None)

計算の単一ステップを説明する呼び出し可能オブジェクトです。

トランスフォームは、いくつかの Input 仕様、いくつかの Output 仕様、および計算関数から構成されます。

提供されたデコレータを使用してトランスフォームオブジェクトを構築するのが一般的です: transform(), transform_df(), および transform_pandas()

注: 元の計算関数はトランスフォームの __call__ メソッドを通じて公開されます。

  • パラメーター

    • compute_func (Callable) – ラップする計算関数。
    • inputs (Dict[str ↗, Input]) - 入力名を Input 仕様にマッピングする辞書。
    • outputs (Dict[str ↗, Output]) - 入力名を Output 仕様にマッピングする辞書。
    • profile (str ↗, optional) – 実行時に使用するトランスフォームのプロファイルの名前。
  • compute(ctx=None, _kwargs_)**

    • コンテキストと一連の入力および出力を使用してトランスフォームを計算します。
    • パラメーター
      • ctx (TransformContext, optional) – トランスフォームに要求された場合に渡されるコンテキストオブジェクト。
      • kwargs (TransformInput または TransformOutput) - 入力名を Input 仕様にマッピングする辞書。kwarg はキーワード引数の略です。
      • outputs (Dict[str ↗, Output]) - 入力、出力、およびコンテキストオブジェクトを名前で計算関数に渡します。
    • 戻り値
      • トランスフォームの実行後の出力オブジェクト。
    • 戻り値の型
  • version

    • str – トランスフォームのバージョンを比較するために使用される文字列。
    • 例えば、SQLトランスフォームはSQLクエリのハッシュを取ることがあります。理想的には、SQLクエリは同等の意味を持つトランスフォームに対して同じバージョンを生成する形式に変換されるべきです。つまり、SQLクエリ select A, B from foo;SQL query select A, B from (select * from foo); と同じバージョンであるべきです。
    • バージョンが指定されていない場合、リポジトリのバージョンが使用されます。
    • 例外
      • ValueError – 計算関数のオブジェクトハッシュの計算に失敗した場合

TransformContext

class transforms.api.TransformContext(foundry_connector, parameters=None) トランスフォームの計算関数にオプションで注入できるコンテキストオブジェクト。

  • auth_header
    • str – トランスフォームを実行するために使用される認証ヘッダー。この認証ヘッダーは限定された範囲を持ち、ジョブを実行するために必要な権限のみを持ちます。API呼び出しには使用しないでください。
  • fallback_branches
    • List[str] – トランスフォームを実行するときに設定されるフォールバックブランチ。
  • parameters
    • dict of (str, any) – トランスフォームのパラメーター。
  • spark_session
    • pyspark.sql.SparkSession – トランスフォームを実行するために使用されるSparkセッション。

TransformInput

class transforms.api.TransformInput(rid, branch, txrange, dfreader, fsbuilder)

実行時にトランスフォームオブジェクトに渡される入力オブジェクト。

  • dataframe()
  • filesystem()
    • FoundryFS から読み取るための FileSystem オブジェクトを構築します。
    • 戻り値
      • Foundry から読み取るための FileSystem オブジェクト。
    • 戻り値の型
  • pandas()
    • pandas.DataFrame ↗: 入力データセットの完全なビューを含むPandasデータフレーム。
  • branch
    • str – 入力データセットのブランチ。
  • path
    • str – 入力データセットのプロジェクトパス。
  • rid
    • str – データセットのリソース識別子。
  • column_descriptions
    • Dict<str, str> – データセットの列の説明。
  • column_typeclasses
    • Dict<str, str> – データセットの列のタイプクラス。

LightweightInput

class transforms.api.LightweightInput(alias)

その目的は、Foundry Data Sidecar に委任しつつ、さまざまなデータ形式のサポートを追加して TransformInput のAPIのサブセットを模倣することです。

  • dataframe()
  • filesystem()
    • FoundryFS から読み取るための FileSystem オブジェクトを構築します。
    • 戻り値
      • Foundry から読み取るための FileSystem オブジェクト。
    • 戻り値の型
  • pandas()
  • arrow()
  • polars(lazy: Optional[bool]=False)
  • path()
    • CSV、Parquet、またはAvroファイルをフォルダーに含むダウンロードされたデータセットのファイルへのパスを持つ str ↗ を返します。
    • 戻り値
      • データセットのファイルを含むディレクトリへのパス。
    • 戻り値の型

IncrementalLightweightInput

class transforms.api.IncrementalLightweightInput(alias)

その目的は、Foundry Data Sidecar に委任しつつ、さまざまなデータ形式のサポートを追加して IncrementalTransformInput のAPIのサブセットを模倣することです。LightweightInput のインクリメンタルな対応物です。

  • dataframe(mode)
    • データセットを持つ pandas.DataFrame ↗ を返します。これは pandas() の別名です。
    • パラメーター
      • mode (str ↗, optional) – 読み取りモード。current, previous, added, modified, removed のいずれか。デフォルトは added
    • 戻り値
      • データセットのデータフレーム。
    • 戻り値の型
  • filesystem()
    • FoundryFS から読み取るための FileSystem オブジェクトを構築します。
    • 戻り値
      • Foundry から読み取るための FileSystem オブジェクト。
    • 戻り値の型
  • pandas()(mode)
    • データセットを持つ pandas.DataFrame ↗ を返します。
    • パラメーター
      • mode (str ↗, optional) – 読み取りモード。current, previous, added, modified, removed のいずれか。デフォルトは added
    • 戻り値
      • データセットのデータフレーム。
    • 戻り値の型
  • arrow()(mode)
    • データセットを持つ pyarrow.Table ↗ を返します。
    • パラメーター
      • mode (str ↗, optional) – 読み取りモード。current, previous, added, modified, removed のいずれか。デフォルトは added
    • 戻り値
      • データセットのテーブル。
    • 戻り値の型
  • polars(lazy=False, mode)
    • lazy パラメーターの値に基づいてデータセットを持つ polars.DataFrame ↗ または polars.LazyFrame ↗ を返します。
    • パラメーター
      • lazy (Optional[bool]) – ラジーまたはイージャーポラデータフレームを選択します。
      • mode (str ↗, optional) – 読み取りモード。current, previous, added, modified, removed のいずれか。デフォルトは added
    • 戻り値
      • データセットのデータフレーム。
    • 戻り値の型
  • path(mode)
    • CSV、Parquet、またはAvroファイルをフォルダーに含むダウンロードされたデータセットのファイルへのパスを持つ str ↗ を返します。
    • パラメーター
      • mode (str ↗, optional) – 読み取りモード。current, previous, added, modified, removed のいずれか。デフォルトは added
    • 戻り値
      • データセットのファイルを含むディレクトリへのパス。
    • 戻り値の型

TransformOutput

class transforms.api.TransformOutput(rid, branch, txrid, dfreader, dfwriter, fsbuilder)

実行時にトランスフォームオブジェクトに渡される出力オブジェクト。

  • abort()
    • トランザクションを中止し、データを書き込まずにジョブを正常に完了させます。詳細は Python Abort を参照してください。
  • dataframe()
  • filesystem()
    • FoundryFS に書き込むための FileSystem オブジェクトを構築します。
    • 戻り値
      • Foundry に書き込むための FileSystem オブジェクト。
    • 戻り値の型
  • pandas()
    • pandas.DataFrame ↗: 出力データセットの完全なビューを含むPandasデータフレーム。
  • set_mode(mode)
    • データセットの書き込みモードを変更します。
    • パラメーター
      • mode (str ↗) – 書き込みモード。‘replace’ または ‘modify’ のいずれか。modify モードでは、出力に書き込まれるものはデータセットに追加されます。replace モードでは、出力に書き込まれるものはデータセットを置き換えます。
  • **write_dataframe(df, partition_cols=None, bucket_cols=None, bucket_count=None, _