mltable パッケージ
既存の MLTable ファイルと対話し、新しい MLTable ファイルを作成するための機能が含まれています。
mltable パッケージを使用すると、Jupyter Notebook やお気に入りの Python IDE など、任意の Python 環境でデータを読み込み、変換、分析できます。
パッケージ
| tests |
既存の MLTable ファイルと対話し、新しい MLTable ファイルを作成するための機能が含まれています。 mltable パッケージを使用すると、Jupyter Notebook やお気に入りの Python IDE など、任意の Python 環境でデータを読み込み、変換、分析できます。 |
モジュール
| mltable |
MLTable オブジェクトを作成して操作する機能が含まれています |
クラス
| DataType |
サポートされている列型 (int、bool、string など) の適切な操作を処理するためのヘルパー クラス。 現在、 MLTable.convert_column_types(...) & from_delimited_files(...) で列の変換先の型を指定するために使用されています。 DataType.from_(...) では、さまざまな種類が選択されます。*メソッド。 |
| MLTable |
MLTable を表します。 MLTable は、データ ソースからデータを読み込む一連の遅延評価された不変操作を定義します。 MLTable がデータの配信を求められるまで、データはソースから読み込まれません。 新しい MLTable を初期化します。 このコンストラクターは、直接呼び出すことはできません。 MLTable は、 loadを使用して作成することを目的としています。 |
列挙型
| MLTableFileEncoding |
ファイルからデータを読み取って MLTable を作成するときにエンコードを処理する方法のオプションを定義します。 これらの列挙値は、MLTable クラスで使用されます。 |
| MLTableHeaders |
MLTable を作成するためにファイルからデータを読み取るときに列ヘッダーを処理する方法のオプションを定義します。 これらの列挙値は、MLTable クラスで使用されます。 |
関数
from_delimited_files
区切りファイルの指定されたリストから MLTable を作成します。
from_delimited_files(paths, header='all_files_same_headers', delimiter=',', support_multi_line=False, empty_as_string=False, encoding='utf8', include_path_column=False, infer_column_types=True)
パラメーター
| 名前 | 説明 |
|---|---|
|
paths
必須
|
パスは、ローカル パスまたはクラウド パスを持つファイルまたはフォルダーをサポートします。 相対ローカル ファイル パスは、現在の作業ディレクトリに対する相対パスと見なされます。 親ディレクトリの相対パスが現在の作業ディレクトリではない場合は、そのパスを絶対ファイル パスとして渡すことをお勧めします。 |
|
header
必須
|
ファイルから読み取るときに列ヘッダーを処理する方法。 列挙型 MLTableHeadersを使用して指定されたオプション。 サポートされているヘッダーは、'no_header'、'from_first_file'、'all_files_different_headers'、および 'all_files_same_headers' です。 |
|
delimiter
必須
|
列を分割するために使用される区切り記号 |
|
support_multi_line
必須
|
False の場合、引用符で囲まれたフィールド値を含むすべての改行は、レコード区切りとして解釈されます。 この方法でデータを読み込むと、複数の CPU コアでの並列実行で速度と最適化が向上します。 ただし、フィールド値が不整合なレコードが警告なしで多数生成される可能性があります。 区切りファイルに引用符で囲まれた改行が含まれていることがわかっている場合は、これを True に設定する必要があります。 この csv ファイルを例として考えると、データはsupport_multi_lineに基づいて異なる方法で読み取られます。 A、B、C A1、B1、C1 A2、"B 2"、C2
|
|
empty_as_string
必須
|
空のフィールドの処理方法。 True の場合、空のフィールドは空の文字列として読み取られます。それ以外の場合は null として読み取られます。 True と列に datetime または数値データが含まれている場合、空のフィールドは引き続き null として読み取られます。 |
|
encoding
必須
|
列挙型 MLTableFileEncodingを使用してファイル エンコードを指定します。 サポートされているエンコードは次のとおりです。
|
|
include_path_column
必須
|
MLTable にパス情報を列として保持すると、複数のファイルを読み取り、特定のレコードの元のファイルを把握したり、ファイル パスに格納される可能性のある有用な情報を保持したりする場合に便利です。 |
|
infer_column_types
必須
|
True の場合、すべての列の種類が自動的に推論されます。 False の場合、列は文字列として残されます。 ディクショナリの場合、型が特定の型に設定される列を表します (他のすべての列が推論されます)。 ディクショナリには、列型の推論に使用 する 行数を表す、正の整数にマップsample_sizeという名前のキーが含まれている場合があります。 ディクショナリには、'column_type_overrides' という名前のキーを含めることもできます。 ディクショナリ内の各キーは、列名を表す文字列か、列名のグループを表す文字列のタプルです。 各値は、文字列 ('boolean'、'string'、'float'、または 'int' のいずれか) または DataTypeです。 mltable。DataType.to_stream() はサポートされていません。 空のディクショナリが指定されている場合は、True と見なされます。 既定値は True です。 infer_column_typesの書式を設定する方法の例。
|
戻り値
| 型 | 説明 |
|---|---|
|
MLTable |
注釈
有効なパス文字列が必要です。
# load mltable from local delimited file
from mltable import from_delimited_files
paths = [{"file": "./samples/mltable_sample/sample_data.csv"}]
mltable = from_delimited_files(paths)
from_delta_lake
デルタ レイク テーブルから Parquet ファイルを読み取る MLTable オブジェクトを作成します。
from_delta_lake(delta_table_uri, timestamp_as_of=None, version_as_of=None, include_path_column=False)
パラメーター
| 名前 | 説明 |
|---|---|
|
delta_table_uri
必須
|
読み取るデルタ レイク Parquet ファイルを含むデルタ テーブル ディレクトリを指す URI。 サポートされている URI の種類は、ローカル パス URI、ストレージ URI、長い形式のデータストア URI、またはデータ資産 URI です。 |
|
timestamp_as_of
必須
|
特定の時点から一致する Parquet ファイルを読み取るために使用する RFC-3339/ISO-8601 形式の datetime 文字列。 例) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00" |
|
version_as_of
必須
|
特定のバージョンの Parquet ファイルで読み取るために使用する整数バージョン。 |
|
include_path_column
必須
|
パス情報を列として保持します。複数のファイルを読み取るときに、特定のレコードが含まれているファイルを知りたい場合や、ファイル パスに格納できる有用な情報を保持する場合に便利です。 |
戻り値
| 型 | 説明 |
|---|---|
|
MLTable インスタンス |
注釈
from_delta_lake は、デルタ レイク フォルダーから表形式にデータを読み込む操作を定義する MLTable オブジェクトを作成します。
Azure Machine Learning からデータにアクセスできるようにするには、 パス がデルタ テーブル ディレクトリを指している必要があります。参照されるデルタ レイク ファイルには、AzureML サービスまたはパブリック Web URL の背後からアクセスできる必要があります。
from_delta_lake では、ローカル パス、BLOB、ADLS Gen1、ADLS Gen2 を指す URI からのデルタ レイク データの読み取りがサポートされています
ユーザーは、返された MLTable で to_pandas_dataframe() を呼び出すことによって、データを読み取って具体化できます
# create an MLTable object from a delta lake using timestamp versioning and materialize the data
from mltable import from_delta_lake
mltable_ts = from_delta_lake(delta_table_uri="./data/delta-01", timestamp_as_of="2021-05-24T00:00:00Z")
pd = mltable_ts.to_pandas_dataframe()
# create an MLTable object from a delta lake using integer versioning and materialize the data
from mltable import from_delta_lake
mltable_version = from_delta_lake(delta_table_uri="./data/delta-02", version_as_of=1)
pd = mltable_version.to_pandas_dataframe()
from_json_lines_files
指定された JSON ファイル パスの一覧から MLTable を作成します。
from_json_lines_files(paths, invalid_lines='error', encoding='utf8', include_path_column=False)
パラメーター
| 名前 | 説明 |
|---|---|
|
paths
必須
|
パスは、ローカル パスまたはクラウド パスを持つファイルまたはフォルダーをサポートします。 相対ローカル ファイル パスは、現在の作業ディレクトリに対する相対パスと見なされます。 親ディレクトリの相対パスが現在の作業ディレクトリではない場合は、そのパスを絶対ファイル パスとして渡すことをお勧めします。 |
|
invalid_lines
必須
|
無効な JSON である行を処理する方法には、"drop" または "error" を指定できます。 'drop' 無効な行が削除された場合、それ以外の場合はエラーが発生します。 |
|
encoding
必須
|
列挙型 MLTableFileEncodingを使用してファイル エンコードを指定します。 サポートされているファイル エンコード:
|
|
include_path_column
必須
|
パス情報を列として保持します。複数のファイルを読み取るときに、特定のレコードが含まれているファイルを知りたい場合や、ファイル パスに格納できる有用な情報を保持する場合に便利です。 |
戻り値
| 型 | 説明 |
|---|---|
|
MLTable |
注釈
有効なパス ディクショナリが存在する必要があります
# load mltable from local JSON paths
from mltable import from_json_lines_files
paths = [{'file': './samples/mltable_sample/sample_data.jsonl'}]
mltable = from_json_lines_files(paths)
from_parquet_files
指定された Parquet ファイルの一覧から MLTable を作成します。
from_parquet_files(paths, include_path_column=False)
パラメーター
| 名前 | 説明 |
|---|---|
|
paths
必須
|
パスは、ローカル パスまたはクラウド パスを持つファイルまたはフォルダーをサポートします。 相対ローカル ファイル パスは、現在の作業ディレクトリに対する相対パスと見なされます。 親ディレクトリの相対パスが現在の作業ディレクトリではない場合は、そのパスを絶対ファイル パスとして渡すことをお勧めします。 |
|
include_path_column
必須
|
パス情報を列として保持します。複数のファイルを読み取るときに、特定のレコードが含まれているファイルを知りたい場合や、ファイル パスに格納できる有用な情報を保持する場合に便利です。 |
戻り値
| 型 | 説明 |
|---|---|
|
MLTable インスタンス |
注釈
有効なパス ディクショナリが存在する必要があります
# load mltable from local parquet paths
from mltable import from_parquet_files
paths = [{'file': './samples/mltable_sample/sample.parquet'}]
mltable = from_parquet_files(paths)
from_paths
指定されたパスから MLTable を作成します。
from_paths(paths)
パラメーター
| 名前 | 説明 |
|---|---|
|
paths
必須
|
パスは、ローカル パスまたはクラウド パスを持つファイルまたはフォルダーをサポートします。 相対ローカル ファイル パスは、現在の作業ディレクトリに対する相対パスと見なされます。 親ディレクトリの相対パスが現在の作業ディレクトリではない場合は、そのパスを絶対ファイル パスとして渡すことをお勧めします。 |
戻り値
| 型 | 説明 |
|---|---|
|
MLTable インスタンス |
注釈
有効なパス ディクショナリが存在する必要があります
# load mltable from local paths
from mltable import from_paths
tbl = from_paths([{'file': "./samples/mltable_sample"}])
# load mltable from cloud paths
from mltable import load
tbl = from_paths(
[{'file': "https://<blob-storage-name>.blob.core.windows.net/<path>/sample_file"}])
load
指定された URI に存在する MLTable ファイル (YAML) を読み込みます。
storage_options では、'subscription'、'resource_group'、'workspace'、または 'location' のキーがサポートされます。 すべて Azure Machine Learning ワークスペースを見つける必要があります。
load(uri, storage_options: dict = None, ml_client=None)
パラメーター
| 名前 | 説明 |
|---|---|
|
uri
必須
|
uri では、長い形式のデータストア URI、ストレージ URI、ローカル パス、またはデータ資産 URI またはデータ資産の短い URI がサポートされます |
|
storage_options
必須
|
URI が AML 資産の場合の AML ワークスペース情報 |
|
ml_client
必須
|
MLClient インスタンス。 詳細については、「https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml.mlclient?view=azure-python」を参照してください。 |
戻り値
| 型 | 説明 |
|---|---|
|
MLTable |
注釈
指定された URI に 'MLTable' という名前の有効な MLTable YAML ファイルが存在する必要があります。
# load mltable from local folder
from mltable import load
tbl = load('.\samples\mltable_sample')
# load mltable from azureml datastore uri
from mltable import load
tbl = load(
'azureml://subscriptions/<subscription-id>/
resourcegroups/<resourcegroup-name>/workspaces/<workspace-name>/
datastores/<datastore-name>/paths/<mltable-path-on-datastore>/')
# load mltable from azureml data asset uri
from mltable import load
tbl = load(
'azureml://subscriptions/<subscription-id>/
resourcegroups/<resourcegroup-name>/providers/Microsoft.MachineLearningServices/
workspaces/<workspace-name>/data/<data-asset-name>/versions/<data-asset-version>/')
# load mltable from azureml data asset short uri
from mltable import load
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
ml_client = MLClient(credential, <subscription_id>, <resourcegroup-name>, <workspace-name>)
tbl = load('azureml:<data-asset-name>:<version>', ml_client=ml_client)