爬蟲程式的運作方式 - AWS Glue

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

爬蟲程式的運作方式

爬蟲程式執行時,它會進行以下動作來詢問資料存放區:

  • 分類器資料會判斷格式、結構描述及原始資料的相關屬性 – 您可以透過建立自訂分類器來設定分類的結果。

  • 將資料分組至資料表或分區中 – 資料是根據爬蟲程式啟發來加以分組。

  • 將中繼資料寫入到 Data Catalog – 您可以設定爬蟲程式如何新增、更新和刪除資料表和分區。

定義爬蟲程式時,您可選擇一個或多個分類器評估資料格式以推斷結構描述。爬蟲程式執行時,清單中第一個成功辨識資料存放區的分類器會用於為您的資料表建立結構描述。您可以使用內建的分類器或自行定義。您可以先在個別操作中定義自訂分類器,之後再定義爬蟲程式。AWS Glue 提供內建的分類器,可從常見檔案格式 (包括 JSON、CSV 和 Apache Avro) 來推斷結構描述。關於 AWS Glue 目前的內建分類器清單,請參閱AWS Glue 中的內建分類器

爬蟲程式建立的中繼資料資料表,會包含在您定義爬蟲程式時的資料庫裡。如果爬蟲程式未指定資料庫,資料表會存放於預設的資料庫。此外,每個資料表都有分類欄,會由第一個成功辨識資料存放區的分類器填寫。

如果抓取的檔案已壓縮,爬蟲程式就必須下載檔案才能處理。當爬蟲程式執行時,其會詢問檔案以判斷格式和壓縮類型,並將這些屬性寫入到 Data Catalog 。Apache Parquet 等部分檔案格式,可讓您在進行寫入時壓縮部分檔案。對於這些檔案,壓縮資料是檔案內部元件,且 AWS Glue 不會在將資料表寫入 Data Catalog 時填入 compressionType 屬性。反之,如果「整個檔案」是以壓縮演算法進行壓縮 (例如 gzip),則會在將資料表寫入 Data Catalog 時填入 compressionType 屬性。

爬蟲程式會為其建立的資料表產生名稱。存放於 AWS Glue Data Catalog 的資料表之名稱遵循以下規則:

  • 只能使用英數字元和底線 (_)。

  • 任何自訂的字首都不能超過 64 個字元。

  • 名稱的長度上限不能超過 128 個字元。爬蟲程式會截斷產生的名稱以符合限制。

  • 如果遇到重複的資料表名稱,爬蟲程式會為名稱加上雜湊字串尾碼。

如果爬蟲程式執行超過一次 (或許是按照排程),則會在資料存放區中尋找新的或變更過的檔案或資料表。爬蟲程式的輸出會包含前一次執行時找到的新資料表和分割區。