本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:新增 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 上之檔案的爬蟲程式
-
在 AWS Glue 服務主控台的左側選單上,選擇 Crawlers (爬蟲程式)。
-
在爬蟲程式頁面上,選擇建立爬蟲程式。這會啟動一系列頁面,提示您輸入爬蟲程式詳細資訊。
-
在爬蟲程式名稱欄位中,輸入
Flights Data Crawler
,然後選擇 Next (下一步)。爬蟲程式會呼叫分類器,以推斷資料的結構描述。本教學課程預設使用 CSV 的內建分類器。
-
對於爬蟲程式來源類型,選擇 Data stores (資料存放區),然後選擇 Next (下一步)。
-
現在讓我們將爬蟲程式指向您的資料。在 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 (下一步)。 -
您可以使用單一爬蟲程式來編目多個資料存放區。但是,在本教學課程中,我們只使用一個資料存放區,因此選擇 No (否),然後選擇 Next (下一步)。
-
爬蟲程式需要許可才能存取資料存放區,並在 AWS Glue Data Catalog 中建立物件。若要設定這些許可,請選擇 Create an IAM role (建立 IAM 角色)。IAM 角色名稱的開頭為
AWSGlueServiceRole-
,然後在欄位中輸入角色名稱的最後一部分。輸入CrawlerTutorial
,然後選擇 Next (下一步)。注意
若要建立 IAM 角色,您的 AWS 使用者必須擁有
CreateRole
、CreatePolicy
以及AttachRolePolicy
許可。精靈會建立名為
AWSGlueServiceRole-CrawlerTutorial
的 IAM 角色、連接 AWS 受管政策AWSGlueServiceRole
至此角色,並新增允許對 Amazon S3 位置s3://crawler-public-us-east-1/flight/2016/csv
的讀取存取權限的內嵌政策。 -
建立爬蟲程式的排程。對於 Frequency (頻率) 選擇 Run on demand (隨需執行),然後選擇 Next (下一步)。
-
爬蟲程式會在您的 Data Catalog 中建立資料表。資料表包含在 Data Catalog 的資料庫中。首先,選擇 Add database (新增資料庫) 建立資料庫。在彈出式視窗中,輸入
test-flights-db
做為資料庫名稱,然後選擇 Create (建立)。接下來,針對 Prefix added to tables (新增至資料表的字首) 輸入
flights
。針對其餘的選項,使用預設值並選擇 Next (下一步)。 -
驗證您在 Add crawler (新增爬蟲程式) 精靈中做出的選擇。如果您看到任何錯誤,您可以選擇 Back (上一步) 返回上一頁並進行變更。
檢閱完資訊後,請選擇 Finish (完成) 建立爬蟲程式。
步驟 2:執行爬蟲程式
建立爬蟲程式之後,精靈會將您傳送至爬蟲程式檢視頁面。因為您建立具有隨需排程的爬蟲程式,所以您可以選擇執行爬蟲程式。
執行爬蟲程式
-
此頁面頂端附近的橫幅可讓您知道已建立爬蟲程式,並詢問您是否要立即執行它。選擇 Run it now? (現在執行?) 執行爬蟲程式。
橫幅會變更為針對您的爬蟲程式顯示「正在嘗試執行」和「正在執行」訊息。爬蟲程式開始執行後,橫幅就會消失,而且爬蟲程式顯示會更新,以顯示爬蟲程式的 Starting (啟動中) 狀態。一分鐘後,您可以按一下 [重新整理] 圖示來更新資料表中顯示之爬蟲程式的狀態。
-
爬蟲程式完成時,會出現一個新的橫幅,說明爬蟲程式所做的變更。您可以選擇 test-flights-db 連結以檢視 Data Catalog 物件。
步驟 3:檢視 AWS Glue Data Catalog 物件
爬蟲程式會讀取來源位置的資料,並在 Data Catalog 中建立資料表。資料表是呈現您資料的中繼資料定義,包括其結構描述。 Data Catalog 中的資料表不包含資料。相反地,您可以使用這些資料表做為任務定義中的來源或目標。
檢視爬蟲程式建立的 Data Catalog 物件
-
在左側導覽的 Data catalog ( Data Catalog ) 下,選擇 Databases (資料庫)。在這裡,您可以查看爬蟲程式所建立的
flights-db
資料庫。 -
在左側導覽中的 Data catalog ( Data Catalog ) 及 Databases (資料庫) 下方,選擇 Tables (資料表)。在這裡,您可以檢視爬蟲程式所建立的
flightscsv
資料表。如果您選擇資料表名稱,則可以檢視資料表設定、參數和屬性。在此檢視中向下捲動,您可以檢視結構描述,也就是資料表的欄和資料類型的相關資訊。 -
如果選擇資料表檢視頁面上的 View partitions (檢視分割區),您可以看到為資料建立的分割區。第一欄是資料分割區索引鍵。