7.4.4 データストアに関する情報の取得

oml.ds.dir関数は、データストアに関する情報を提供します。

oml.ds.dirの構文は次のとおりです。

oml.ds.dir(name=None, regex_match=False, dstype=’user’)

nameパラメータを使用して、特定のデータストアに関する情報を取得します。

オプションで、regex_matchおよびdstypeパラメータを使用して、特定の特性を持つデータストアに関する情報を取得できます。dstypeの有効な引数は次のとおりです。

引数 説明
all

現在のユーザーが読取り権限を持っているすべてのデータストアをリストします。

grant

現在のユーザーが他のユーザーに読取り権限を付与したデータストアをリストします。

granted

他のユーザーが現在のユーザーに読取り権限を付与したデータストアをリストします。

grantable

現在のユーザーが読取り権限を付与できるデータストアをリストします。

user

現在のユーザーが作成したデータストアをリストします。

private

現在のユーザーが読取り権限を付与できないデータストアをリストします。

oml.ds.dir関数は、使用するdstypeの引数に応じて異なる列を含むpandas.DataFrameオブジェクトを返します。次の表は、それらの引数と、指定した値について返される列のリストです。

dstypeの引数 返されるDataFrameの列

user

private

grantable

データストア名を含むDSNAME

データストア内のオブジェクトの数を含むNOBJ

データストア内の各オブジェクトのサイズ(バイト単位)を含むDSIZE

データストアの作成日を含むCDATE

データストアのオプションの説明を含むDESCRIPTION

all

granted

userprivateおよびgrantableの値によって返されるすべての列に加えて、次の列:

データストアの所有者を含むDSOWNER

grant

データストア名を含むDSNAME

現在のセッション・ユーザーがデータストアへの読取り権限を付与したユーザーの名前を含むGRANTEE

例7-16 データストアに関する情報の取得

この例では、oml.ds.dir関数の引数の様々な組合せを使用する方法を示します。oml.dirを使用して、一部またはすべてのデータストアをリストする方法を示します。この例で使用しているデータストアの作成については、例7-14を参照してください。

import oml

# Show all saved datastores.
oml.ds.dir(dstype="all")[['owner', 'datastore_name', 'object_count']]

# Show datastores to which other users have been granted the read 
# privilege.
oml.ds.dir(dstype="grant")

# Show datastores whose names match a pattern.
oml.ds.dir(name='pydata', regex_match=True)\
          [['datastore_name', 'object_count']]

この例のリスト

>>> import oml
>>>
>>> # Show all saved datastores.
... oml.ds.dir(dstype="all")[['owner', 'datastore_name', 'object_count']]
     owner  datastore_name  object_count
0  OML_USER      ds_pydata             3
1  OML_USER     ds_pymodel             2
2  OML_USER   ds_wine_data             1
>>>
>>> # Show datastores to which other users have been granted the read 
>>> # privilege.
... oml.ds.dir(dstype="grant")
  datastore_name grantee
0     ds_pymodel  PUBLIC
>>>
>>> oml.ds.dir(name='pydata', regex_match=True)\
...           [['datastore_name', 'object_count']]
  datastore_name  object_count
0      ds_pydata             3