教學課程:新增 AWS Glue 爬蟲程式 - AWS Glue

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

教學課程:新增 AWS Glue 爬蟲程式

對於這個 AWS Glue 案例,您需要分析主要航空公司的抵達資料,以計算出發機場每月的受歡迎程度。您有以 CSV 格式存放在 Amazon S3 中的 2016 年航班資料。在轉換和分析資料之前,您先將其中繼資料編目至 AWS Glue Data Catalog。

在本教學課程中,讓我們在 Amazon S3 中新增可推斷這些航班記錄中繼資料的爬蟲程式,並在 Data Catalog 中建立資料表。

先決條件

本教學課程假設您擁有 ​AWS 帳戶並能存取 AWS Glue。

步驟 1:新增爬蟲程式

使用這些步驟來設定和執行爬蟲程式,該爬蟲程式會從存放在 Amazon S3 的 CSV 檔案中擷取中繼資料。

建立讀取存放在 Amazon S3 上之檔案的爬蟲程式
  1. 在 AWS Glue 服務主控台的左側選單上,選擇 Crawlers (爬蟲程式)

  2. 在爬蟲程式頁面上,選擇建立爬蟲程式。這會啟動一系列頁面,提示您輸入爬蟲程式詳細資訊。

    螢幕擷取畫面會顯示爬蟲程式頁面。您可以在此建立爬蟲程式,或編輯、複製、刪除和檢視現有的爬蟲程式。
  3. 在爬蟲程式名稱欄位中,輸入 Flights Data Crawler,然後選擇 Next (下一步)

    爬蟲程式會呼叫分類器,以推斷資料的結構描述。本教學課程預設使用 CSV 的內建分類器。

  4. 對於爬蟲程式來源類型,選擇 Data stores (資料存放區),然後選擇 Next (下一步)

  5. 現在讓我們將爬蟲程式指向您的資料。在 Add a data store (新增資料存放區) 頁面上,選擇 Amazon S3 資料存放區。本教學課程不使用連線,因此請將 Connection (連線) 欄位保留空白 (如果可見)。

    對於 Crawl data in (抓取資料位置) 選項,選擇 Specified path in another account (指定其他帳戶內的路徑)。然後,對於 Include path (包含路徑),輸入爬蟲程式可以找到航班資料的路徑,也就是 s3://crawler-public-us-east-1/flight/2016/csv。輸入路徑後,此欄位的標題會變更為 Include path (包含路徑)。選擇 Next (下一步)

  6. 您可以使用單一爬蟲程式來編目多個資料存放區。但是,在本教學課程中,我們只使用一個資料存放區,因此選擇 No (否),然後選擇 Next (下一步)

  7. 爬蟲程式需要許可才能存取資料存放區,並在 AWS Glue Data Catalog 中建立物件。若要設定這些許可,請選擇 Create an IAM role (建立 IAM 角色)。IAM 角色名稱的開頭為 AWSGlueServiceRole-,然後在欄位中輸入角色名稱的最後一部分。輸入 CrawlerTutorial,然後選擇 Next (下一步)

    注意

    若要建立 IAM 角色,您的 AWS 使用者必須擁有 CreateRoleCreatePolicy 以及 AttachRolePolicy 許可。

    精靈會建立名為 AWSGlueServiceRole-CrawlerTutorial 的 IAM 角色、連接 AWS 受管政策 AWSGlueServiceRole 至此角色,並新增允許對 Amazon S3 位置 s3://crawler-public-us-east-1/flight/2016/csv 的讀取存取權限的內嵌政策。

  8. 建立爬蟲程式的排程。對於 Frequency (頻率) 選擇 Run on demand (隨需執行),然後選擇 Next (下一步)

  9. 爬蟲程式會在您的 Data Catalog 中建立資料表。資料表包含在 Data Catalog 的資料庫中。首先,選擇 Add database (新增資料庫) 建立資料庫。在彈出式視窗中,輸入 test-flights-db 做為資料庫名稱,然後選擇 Create (建立)

    接下來,針對 Prefix added to tables (新增至資料表的字首) 輸入 flights。針對其餘的選項,使用預設值並選擇 Next (下一步)

  10. 驗證您在 Add crawler (新增爬蟲程式) 精靈中做出的選擇。如果您看到任何錯誤,您可以選擇 Back (上一步) 返回上一頁並進行變更。

    檢閱完資訊後,請選擇 Finish (完成) 建立爬蟲程式。

步驟 2:執行爬蟲程式

建立爬蟲程式之後,精靈會將您傳送至爬蟲程式檢視頁面。因為您建立具有隨需排程的爬蟲程式,所以您可以選擇執行爬蟲程式。

執行爬蟲程式
  1. 此頁面頂端附近的橫幅可讓您知道已建立爬蟲程式,並詢問您是否要立即執行它。選擇 Run it now? (現在執行?) 執行爬蟲程式。

    橫幅會變更為針對您的爬蟲程式顯示「正在嘗試執行」和「正在執行」訊息。爬蟲程式開始執行後,橫幅就會消失,而且爬蟲程式顯示會更新,以顯示爬蟲程式的 Starting (啟動中) 狀態。一分鐘後,您可以按一下 [重新整理] 圖示來更新資料表中顯示之爬蟲程式的狀態。

  2. 爬蟲程式完成時,會出現一個新的橫幅,說明爬蟲程式所做的變更。您可以選擇 test-flights-db 連結以檢視 Data Catalog 物件。

步驟 3:檢視 AWS Glue Data Catalog 物件

爬蟲程式會讀取來源位置的資料,並在 Data Catalog 中建立資料表。資料表是呈現您資料的中繼資料定義,包括其結構描述。 Data Catalog 中的資料表不包含資料。相反地,您可以使用這些資料表做為任務定義中的來源或目標。

檢視爬蟲程式建立的 Data Catalog 物件
  1. 在左側導覽的 Data catalog ( Data Catalog ) 下,選擇 Databases (資料庫)。在這裡,您可以查看爬蟲程式所建立的 flights-db 資料庫。

  2. 在左側導覽中的 Data catalog ( Data Catalog )Databases (資料庫) 下方,選擇 Tables (資料表)。在這裡,您可以檢視爬蟲程式所建立的 flightscsv 資料表。如果您選擇資料表名稱,則可以檢視資料表設定、參數和屬性。在此檢視中向下捲動,您可以檢視結構描述,也就是資料表的欄和資料類型的相關資訊。

  3. 如果選擇資料表檢視頁面上的 View partitions (檢視分割區),您可以看到為資料建立的分割區。第一欄是資料分割區索引鍵。