データのメタデータ

このセクションでは、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)