View a markdown version of this page

AWS Glue Scala DynamicRecord クラス - AWS Glue

AWS Glue Scala DynamicRecord クラス

パッケージ: com.amazonaws.services.glue

class DynamicRecord extends Serializable with Writable with Cloneable

DynamicRecord は、処理対象のデータセット内のデータ行を表す自己記述型のデータ構造体です。自己記述型とは、DynamicRecord が表す行のスキーマを、レコード自体を検査することで取得できるという意味です。DynamicRecord は Apache Spark の Row に似ています。

def addField

def addField( path : String, dynamicNode : DynamicNode ) : Unit

指定したパスに DynamicNode を追加します。

  • path - 追加するフィールドのパス。

  • dynamicNode - 指定したパスに追加する DynamicNode。

def dropField

def dropField(path: String, underRename: Boolean = false): Option[DynamicNode]

指定したパスに配列がない場合は、指定したパスから DynamicNode を削除し、削除したノードを返します。

  • path - 削除するフィールドへのパス。

  • underRenamedropField – 名前変更の変換の一部として が呼び出された場合は true、それ以外の場合は false (デフォルトは false)。

scala.Option Option (DynamicNode) を返します。

def setError

def setError( error : Error )

error パラメータの指定に従って、このレコードをエラーレコードとして設定します。

戻り値は DynamicRecord。

def isError

def isError

このレコードがエラーレコードであるかどうかを確認します。

def getError

def getError

レコードがエラーレコードである場合、Error を受け取ります。このレコードがエラーレコードである場合は scala.Some Some (エラー) を返し、それ以外の場合は scala.None を返します。

def clearError

def clearError

Error を scala.None.None に設定します。

def write

override def write( out : DataOutput ) : Unit

def readFields

override def readFields( in : DataInput ) : Unit

def clone

override def clone : DynamicRecord

このレコードを新しい DynamicRecord に複製し、返します。

def schema

def schema

レコードを検査して Schema を取得します。

def getRoot

def getRoot : ObjectNode

レコードのルート ObjectNode を取得します。

def toJson

def toJson : String

レコードの JSON 文字列を取得します。

def getFieldNode

def getFieldNode( path : String ) : Option[DynamicNode]

DynamicNode のオプションとして指定した path でフィールドの値を取得します。

フィールドが存在する場合は scala.Some Some(DynamicNode) を返し、それ以外の場合は scala.None.None を返します。

def getField

def getField( path : String ) : Option[Any]

DynamicNode のオプションとして指定した path でフィールドの値を取得します。

scala.Some Some (値) を返します。

def hashCode

override def hashCode : Int

def equals

override def equals( other : Any )

DynamicRecord オブジェクト

object DynamicRecord

def apply

def apply( row : Row, schema : SparkStructType )

メソッドを適用して Apache Spark SQL Row を DynamicRecord に変換します。

  • row – Spark SQL Row。

  • schema – 行の Schema。

戻り値は DynamicRecord。

RecordTraverser 特性

trait RecordTraverser { def nullValue(): Unit def byteValue(value: Byte): Unit def binaryValue(value: Array[Byte]): Unit def booleanValue(value: Boolean): Unit def shortValue(value: Short) : Unit def intValue(value: Int) : Unit def longValue(value: Long) : Unit def floatValue(value: Float): Unit def doubleValue(value: Double): Unit def decimalValue(value: BigDecimal): Unit def stringValue(value: String): Unit def dateValue(value: Date): Unit def timestampValue(value: Timestamp): Unit def objectStart(length: Int): Unit def objectKey(key: String): Unit def objectEnd(): Unit def mapStart(length: Int): Unit def mapKey(key: String): Unit def mapEnd(): Unit def arrayStart(length: Int): Unit def arrayEnd(): Unit }