TransformationMixin クラス

このクラスでは、出力データセットへの変換機能が提供されます。

継承
builtins.object
TransformationMixin

コンストラクター

TransformationMixin()

メソッド

read_delimited_files

すべての出力を区切りファイルとして読み取って、出力データセットを表形式のデータセットに変換します。

read_parquet_files

すべての出力を parquet ファイルとして読み取って、出力データセットを表形式のデータセットに変換します。

表形式データセットは、中間出力によってポイントされる parquet ファイルを解析することで作成されます。

read_delimited_files

すべての出力を区切りファイルとして読み取って、出力データセットを表形式のデータセットに変換します。

read_delimited_files(include_path=False, separator=',', header=PromoteHeadersBehavior.ALL_FILES_HAVE_SAME_HEADERS, partition_format=None, path_glob=None, set_column_types=None)

パラメーター

include_path
bool
必須

パス情報をデータセットの列として保持するブール値。 既定値は False です。 これは、複数のファイルを読み取り、特定のレコードがどのファイルから生成されたかを把握したい場合や、ファイル パスに有用な情報を保持したい場合に便利です。

separator
str
必須

列を分割するために使用する区切り記号。

header
PromoteHeadersBehavior
必須

ファイルから読み取るときに列ヘッダーをどのように昇格するかを制御します。 既定では、すべてのファイルのヘッダーが同じと想定されます。

partition_format
str
必須

パスのパーティション形式を指定します。 既定値は None です。 各パスのパーティション情報は、指定された形式に基づいて列に抽出されます。 形式の '{column_name}' の部分では文字列の列が、'{column_name:yyyy/MM/dd/HH/mm/ss}' では datetime の列が作成されます。ここで、'yyyy'、'MM'、'dd'、'HH'、'mm'、'ss' は datetime 型の年、月、日、時、分、秒の抽出に使用されます。 形式は、最初のパーティション キーの位置から始まり、ファイル パスの末尾までになります。 たとえば、部署名と日時でパーティション分割されているパス '../Accounts/2019/01/01/data.parquet' がある場合、partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet' によって、値 'Accounts' を持つ文字列の列 'Department' と、値 '2019-01-01' を持つ datetime 列 'PartitionDate' が作成されます。

path_glob
str
必須

区切りファイルとして読み取られるファイルをフィルター処理するための glob に似たパターン。 None に設定すると、すべてのファイルが区切りファイルとして読み取られます。

glob は Unix スタイルのパス名パターン拡張です。https://docs.python.org/3/library/glob.html

例:

  • *.csv ->.csv ファイル名拡張子を持つファイルを選択します
  • test_.csv* -> ファイル名が test_ で始まり、ファイル名拡張子が .csv であるファイルを選択します
  • /myrootdir/project_one///.txt* -> 2 つ目の深さのサブディレクトリ /myrootdir/project_one/ にあり、ファイル名拡張子が .txt であるファイルを選択します

注: 大規模なディレクトリ ツリーで **** パターンを使用すると、大幅な時間が消費される場合があります。 一般に、大規模なディレクトリ ツリーの場合、glob パターンをより具体的にすることでパフォーマンスを向上できます。

set_column_types
dict[str, DataType]
必須

列のデータ型を設定するためのディクショナリ。キーは列名、値は DataType です。 ディクショナリ内に含まれていない列は、文字列型のままです。 None を渡すと、変換は行われなくなります。 ソース データに見つからない列を入力してもエラーは生じず、無視されます。

戻り値

TabularDataset に出力を変換する方法を示す OutputTabularDatasetConfig インスタンス。

の戻り値の型 :

read_parquet_files

すべての出力を parquet ファイルとして読み取って、出力データセットを表形式のデータセットに変換します。

表形式データセットは、中間出力によってポイントされる parquet ファイルを解析することで作成されます。

read_parquet_files(include_path=False, partition_format=None, path_glob=None, set_column_types=None)

パラメーター

include_path
bool
必須

パス情報をデータセット内に列として保持するかどうかを示すブール値。 既定値は False です。 これは、複数のファイルを読み取り、特定のレコードがどのファイルから生成されたかを把握したい場合や、ファイル パスに有用な情報を保持したい場合に便利です。

partition_format
str
必須

パスのパーティション形式を指定します。 既定値は None です。 各パスのパーティション情報は、指定された形式に基づいて列に抽出されます。 形式の '{column_name}' の部分では文字列の列が、'{column_name:yyyy/MM/dd/HH/mm/ss}' では datetime の列が作成されます。ここで、'yyyy'、'MM'、'dd'、'HH'、'mm'、'ss' は datetime 型の年、月、日、時、分、秒の抽出に使用されます。 形式は、最初のパーティション キーの位置から始まり、ファイル パスの末尾までになります。 たとえば、部署名と日時でパーティション分割されているパス '../Accounts/2019/01/01/data.parquet' がある場合、partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet' によって、値 'Accounts' を持つ文字列の列 'Department' と、値 '2019-01-01' を持つ datetime 列 'PartitionDate' が作成されます。

path_glob
str
必須

parquet ファイルとして読み取られるファイルをフィルター処理するための glob に似たパターン。 None に設定すると、すべてのファイルが parquet ファイルとして読み取られます。

glob は Unix スタイルのパス名パターン拡張です。https://docs.python.org/3/library/glob.html

例:

  • *.parquet ->.parquet ファイル名拡張子を持つファイルを選択します
  • test_.parquet* -> ファイル名が test_ で始まり、ファイル名拡張子が .parquet であるファイルを選択します
  • /myrootdir/project_one///.parquet* -> 2 つ目の深さのサブディレクトリ /myrootdir/project_one/ にあり、ファイル名拡張子が .parquet であるファイルを選択します

注: 大規模なディレクトリ ツリーで **** パターンを使用すると、大幅な時間が消費される場合があります。 一般に、大規模なディレクトリ ツリーの場合、glob パターンをより具体的にすることでパフォーマンスを向上できます。

set_column_types
dict[str, DataType]
必須

列のデータ型を設定するためのディクショナリ。キーは列名、値は DataType です。 ディクショナリ内に含まれていない列は、parquet ファイルから読み込まれた型のままです。 None を渡すと、変換は行われなくなります。 ソース データに見つからない列を入力してもエラーは生じず、無視されます。

戻り値

TabularDataset に出力を変換する方法を示す OutputTabularDatasetConfig インスタンス。

の戻り値の型 :