DropNullFields 類別 - AWS Glue

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

DropNullFields 類別

捨棄 DynamicFrame 中類型為 NullType 的所有 null 欄位。在 DynamicFrame 資料集的每筆記錄中,皆存在缺少值或為空值的欄位。

範例

此範例使用 DropNullFields 建立新的 DynamicFrame,其中類型 NullType 的欄位已刪除。為了演示 DropNullFields,我們將類型為 null 的名為 empty_column 的新資料欄新增至已加載的 persons 資料集。

注意

若要存取此範例中使用的資料集,請參閱 程式碼範例:加入和關聯化資料 並依照 步驟 1:在 Amazon S3 儲存貯體中網路爬取資料 中的說明進行。

# Example: Use DropNullFields to create a new DynamicFrame without NullType fields from pyspark.context import SparkContext from awsglue.context import GlueContext from pyspark.sql.functions import lit from pyspark.sql.types import NullType from awsglue.dynamicframe import DynamicFrame from awsglue.transforms import DropNullFields # Create GlueContext sc = SparkContext.getOrCreate() glueContext = GlueContext(sc) # Create DynamicFrame persons = glueContext.create_dynamic_frame.from_catalog( database="legislators", table_name="persons_json" ) print("Schema for the persons DynamicFrame:") persons.printSchema() # Add new column "empty_column" with NullType persons_with_nulls = persons.toDF().withColumn("empty_column", lit(None).cast(NullType())) persons_with_nulls_dyf = DynamicFrame.fromDF(persons_with_nulls, glueContext, "persons_with_nulls") print("Schema for the persons_with_nulls_dyf DynamicFrame:") persons_with_nulls_dyf.printSchema() # Remove the NullType field persons_no_nulls = DropNullFields.apply(persons_with_nulls_dyf) print("Schema for the persons_no_nulls DynamicFrame:") persons_no_nulls.printSchema()
Schema for the persons DynamicFrame: root |-- family_name: string |-- name: string |-- links: array | |-- element: struct | | |-- note: string | | |-- url: string |-- gender: string |-- image: string |-- identifiers: array | |-- element: struct | | |-- scheme: string | | |-- identifier: string |-- other_names: array | |-- element: struct | | |-- lang: string | | |-- note: string | | |-- name: string |-- sort_name: string |-- images: array | |-- element: struct | | |-- url: string |-- given_name: string |-- birth_date: string |-- id: string |-- contact_details: array | |-- element: struct | | |-- type: string | | |-- value: string |-- death_date: string Schema for the persons_with_nulls_dyf DynamicFrame: root |-- family_name: string |-- name: string |-- links: array | |-- element: struct | | |-- note: string | | |-- url: string |-- gender: string |-- image: string |-- identifiers: array | |-- element: struct | | |-- scheme: string | | |-- identifier: string |-- other_names: array | |-- element: struct | | |-- lang: string | | |-- note: string | | |-- name: string |-- sort_name: string |-- images: array | |-- element: struct | | |-- url: string |-- given_name: string |-- birth_date: string |-- id: string |-- contact_details: array | |-- element: struct | | |-- type: string | | |-- value: string |-- death_date: string |-- empty_column: null null_fields ['empty_column'] Schema for the persons_no_nulls DynamicFrame: root |-- family_name: string |-- name: string |-- links: array | |-- element: struct | | |-- note: string | | |-- url: string |-- gender: string |-- image: string |-- identifiers: array | |-- element: struct | | |-- scheme: string | | |-- identifier: string |-- other_names: array | |-- element: struct | | |-- lang: string | | |-- note: string | | |-- name: string |-- sort_name: string |-- images: array | |-- element: struct | | |-- url: string |-- given_name: string |-- birth_date: string |-- id: string |-- contact_details: array | |-- element: struct | | |-- type: string | | |-- value: string |-- death_date: string

方法

__call__(frame, transformation_ctx = "", info = "", stageThreshold = 0, totalThreshold = 0)

刪除 DynamicFrame 中類型為 NullType 的所有 null 欄位。在 DynamicFrame 資料集的每筆記錄中,皆存在缺少值或為空值的欄位。

  • frame – 要刪除其 null 欄位的 DynamicFrame (必要)。

  • transformation_ctx – 用於識別狀態資訊的唯一字串 (選用)。

  • info – 與轉換中的錯誤相關的字串 (選用)。

  • stageThreshold – 在錯誤輸出之前,轉換作業中可發生錯誤的次數上限 (選用)。預設為零。

  • totalThreshold – 在處理錯誤輸出之前,整體作業可發生錯誤的次數上限 (選用)。預設為零。

傳回不含 null 欄位的新 DynamicFrame

apply(cls, *args, **kwargs)

  • cls – cls

name(cls)

  • cls – cls

describeArgs(cls)

  • cls – cls

describeReturn(cls)

  • cls – cls

describeTransform(cls)

  • cls – cls

describeErrors(cls)

  • cls – cls

describe(cls)

  • cls – cls