データのメタデータ
このセクションでは、pyspark.sql.StructField に基づいてデータ モデルの属性を設定する方法について説明します。
spss.datamodel.Role オブジェクト
このクラスは、データ モデル内の各フィールドの有効な役割を列挙します。
BOTH: このフィールドは、前提条件にすることも、結果にすることもできます。
FREQWEIGHT: このフィールドは、度数の重みとして使用されます。これは、ユーザーには表示されません。
INPUT: このフィールドは、予測値または前提条件のいずれかになります。
NONE: モデルの作成時に、このフィールドが直接使用されることはありません。
TARGET: このフィールドは、予測値または結果のいずれかになります。
PARTITION: このフィールドを使用して、データ区分が識別されます。
RECORDID: このフィールドを使用して、レコード ID が識別されます。
SPLIT: このフィールドを使用して、データが分割されます。
spss.datamodel.Measure オブジェクト
このクラスは、データ モデル内の各フィールドの尺度を列挙します。
UNKNOWN: 不明な型の尺度であることを示します。
CONTINUOUS: 連続型の尺度であることを示します。
NOMINAL: 名義型の尺度であることを示します。
FLAG: フィールド値が 2 つの値のいずれかであることを示します。
DISCRETE: フィールド値を値のセットとして解釈する必要があることを示します。
ORDINAL: 順序型の測定タイプであることを示します。
TYPELESS: フィールドのストレージに対応する値であれば、任意の値をそのフィールドに設定することができます。
pyspark.sql.StructField オブジェクト
StructType 内のフィールドを表します。StructField オブジェクトは、以下に示す 4 つのフィールドから構成されます。name (string):StructFieldの名前dataType (pyspark.sql.DataType): 特定のデータ型nullable (bool):StructFieldの値にNoneの値を格納できるかどうかmetadata (dictionary): オプションの属性を保管するための Python 辞書
メタデータの辞書インスタンスを使用すると、特定のフィールドについて、尺度、役割、ラベルの属性を保管することができます。これらの属性のキーワードを以下に示します。
measure:measure属性のキーワードrole:role属性のキーワードdisplayLabel:label属性のキーワード
例:
from spss.datamodel.Role import Role
from spss.datamodel.Measure import Measure
_metadata = {}
_metadata['measure'] = Measure.TYPELESS
_metadata['role'] = Role.NONE
_metadata['displayLabel'] = "field label description"
StructField("userName", StringType(), nullable=False,
metadata=_metadata)