PySpark 延伸模組類型 - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

PySpark 延伸模組類型

AWS Glue PySpark 延伸模組所使用的類型。

DataType

其他 AWS Glue 類型的基本類別。

__init__(properties={})
  • properties – 資料類型的屬性 (選用)。

typeName(cls)

傳回 AWS Glue 類型類別的類型 (亦即從尾端移除「Type」的類別名稱)。

  • cls – 從 AWS Glue 衍生而來的 DataType 類別執行個體。

jsonValue( )

傳回 JSON 物件,其中包含類別的資料類型和屬性:

{ "dataType": typeName, "properties": properties }

AtomicType 和 simple 衍生性產品

繼承自及延伸 DataType 類別,並做為所有 AWS Glue 不可部分完成資料類型的基本類別。

fromJsonValue(cls, json_value)

以來自 JSON 物件的值,初始化類別執行個體。

  • cls – 要初始化的 AWS Glue 類別執行個體。

  • json_value – 用於載入金鑰/值對的來源 JSON 物件。

以下類型為 AtomicType 類別的簡單衍生產品:

  • BinaryType – 二進位資料。

  • BooleanType – 布林值。

  • ByteType – 位元組值。

  • DateType – 日期時間值。

  • DoubleType – 浮點雙精度值。

  • IntegerType – 整數值。

  • LongType – 長整數值。

  • NullType – null 值。

  • ShortType – 短整數值。

  • StringType – 文字字串。

  • TimestampType – 時間戳記值 (單位通常為 1970/1/1 起的秒數)。

  • UnknownType – 無法識別類型的值。

DecimalType(AtomicType)

沿用自和延伸 AtomicType 類別來代表十進位數字 (以十進位數字表示,而非二進位 base-2 數字)。

__init__(precision=10, scale=2, properties={})
  • precision – 十進位數字的位數 (選用,預設為 10)。

  • scale – 小數點右邊的位數 (選用,預設為 2)。

  • properties – 十進位數字段屬性 (選用)。

EnumType(AtomicType)

繼承自和延伸 AtomicType 類別,以表示有效選項的列舉。

__init__(options)
  • options – 列舉的選項清單。

 集合類型

ArrayType(DataType)

__init__(elementType=UnknownType(), properties={})
  • elementType – 陣列中的元素類型 (選用,預設為 UnknownType)。

  • properties – 陣列的屬性 (選用)。

ChoiceType(DataType)

__init__(choices=[], properties={})
  • choices – 可能的選項清單 (選用)。

  • properties – 這些選項的屬性 (選用)。

add(new_choice)

將選項新增至可能的選項清單。

  • new_choice – 要加入至可能選項清單的選項。

merge(new_choices)

合併新選項的清單與現有的選項清單。

  • new_choices – 合併新選項與現有選項的清單。

MapType(DataType)

__init__(valueType=UnknownType, properties={})
  • valueType – 映射中的值類型 (選用,預設為 UnknownType)。

  • properties – 映射的屬性 (選用)。

Field(Object)

從衍生自 DataType 的物件建立欄位物件。

__init__(name, dataType, properties={})
  • name – 要指派到欄位的名稱。

  • dataType – 要從中建立欄位的物件。

  • properties – 欄位的屬性 (選用)。

StructType(DataType)

定義資料結構 (struct)。

__init__(fields=[], properties={})
  • fields – 要包含在結構中的欄位 (Field 類型) 清單 (選用)。

  • properties – 結構的屬性 (選用)。

add(field)
  • field – 要新增到架構的物件類型 Field

hasField(field)

如果此結構有相同名稱的欄位,將傳回 True,否則將傳回 False

  • field – 欄位名稱,或名稱已使用的物件類型 Field

getField(field)
  • field – 欄位名稱,或使用其名稱的物件類型 Field。如果結構有相同名稱的欄位,將會傳回。

EntityType(DataType)

__init__(entity, base_type, properties)

此類別尚未實作。

 其他類型

DataSource(object)

__init__(j_source, sql_ctx, name)
  • j_source – 資料來源。

  • sql_ctx – SQL 內容。

  • name – 資料來源名稱。

setFormat(format, **options)

getFrame()

傳回資料來源的 DynamicFrame

DataSink(object)

__init__(j_sink, sql_ctx)
  • j_sink – 要建立的目的地。

  • sql_ctx – 資料目的地的 SQL 內容。

setFormat(format, **options)

setAccumulableSize(size)
  • size – 要設定的 accumulable 大小 (以位元組為單位)。

writeFrame(dynamic_frame, info="")
  • dynamic_frame – 所要撰寫的 DynamicFrame

  • info – 有關 DynamicFrame 的資訊 (選用)。

write(dynamic_frame_or_dfc, info="")

撰寫 DynamicFrameDynamicFrameCollection

  • dynamic_frame_or_dfc – 要撰寫的 DynamicFrame 物件或 DynamicFrameCollection 物件。

  • info – 有關要撰寫的 DynamicFrameDynamicFrames 的資訊 (選用)。