本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
支援的編目資料來源
爬蟲程式可以抓取下列檔案型和資料表型資料存放區。
爬蟲程式使用的存取類型 | 資料存放區 |
---|---|
原生用戶端 |
|
JDBC |
Amazon Redshift Snowflake 在 Amazon Relational Database Service(AmazonRDS)或 Amazon 外部RDS:
|
MongoDB 用戶端 |
|
注意
目前 AWS Glue 不支援資料串流的爬蟲程式。
對於 JDBC MongoDB、MongoDB 地圖集和 Amazon DocumentDB (與 MongoDB 相容性) 資料存放區,您必須指定爬行者程式可用來AWS Glue連線至資料存放區的連線。對於 Amazon S3,您可以選擇性地指定網路類型的連線。連線是儲存連線資訊 (例如登入資料URL、Amazon Virtual Private Cloud 資訊等) 的資料目錄物件。如需詳細資訊,請參閱連線至資料。
下列是爬行者程式支援的驅動程式版本:
產品 | 爬蟲支持的驅動程序 |
---|---|
後備 SQL | 42.2.1 |
Amazon Aurora | 與原生爬蟲驅動程式相同 |
MariaDB | 8.0.13 |
Microsoft SQL 伺服器 | 6.1.0 |
我的 SQL | 8.0.13 |
Oracle | 11.2.2 |
Amazon Redshift | 4.1 |
Snowflake | 3.13.20 |
MongoDB | 4.7.2 |
MongoDB Atlas | 4.7.2 |
以下是有關各種資料存放區的注意事項。
- Amazon S3
-
您可以選擇在您的帳戶或在另一個帳戶網路爬取路徑。如果資料夾中的所有 Amazon S3 檔案都具有相同的結構描述,爬蟲程式就會建立一個資料表。此外,如果 Amazon S3 物件已分割,則只會建立一個中繼資料資料表,並將分割資訊新增到該資料表的 Data Catalog 。
- Amazon S3 和 Amazon DynamoDB
-
爬蟲使用 AWS Identity and Access Management (IAM) 角色取得存取資料存放區的權限。您傳遞至爬蟲程式的角色必須擁有許可,才能存取已抓取的 Amazon S3 路徑和 Amazon DynamoDB 資料表。
- Amazon DynamoDB
-
使用 AWS Glue 主控台定義爬蟲程式時,需指定一個 DynamoDB 資料表。如果您使用的是 AWS GlueAPI,您可以指定表格清單。您可以選擇只網路爬取一小部分的資料範例,以減少爬蟲程式的執行時間。
- Delta Lake
-
針對每個 Delta Lake 資料存放區,請指定如何建立 Delta 資料表:
建立原生資料表:允許與支援直接查詢 Delta 交易日誌的查詢引擎整合。如需詳細資訊,請參閱查詢 Delta Lake 資料表。
建立符號連結資料夾:根據特定組態參數,使用由分割區索引鍵分割的資訊清單檔案建立
_symlink_manifest
資料夾。
- Iceberg
-
對於每個 Iceberg 資料存放區,您可以指定包含 Iceberg 資料表中繼資料的 Amazon S3 路徑。如果爬蟲程式發現 Iceberg 資料表中繼資料,其會在資料型錄中註冊該中繼資料。您可以為爬蟲程式設定排程,讓資料表持續更新。
您可以為資料存放區定義下列參數:
排除:可讓您略過某些資料夾。
周遊深度上限:設定爬蟲程式可在 Amazon S3 儲存貯體中爬取的深度限制。預設的周遊深度上限為 10,而您可以設定的深度上限為 20。
- Hudi
-
對於每個 Hudi 資料存放區,您可以指定包含 Hudi 資料表中繼資料的 Amazon S3 路徑。如果爬蟲程式發現 Hudi 資料表中繼資料,其會在資料型錄中註冊該中繼資料。您可以為爬蟲程式設定排程,讓資料表持續更新。
您可以為資料存放區定義下列參數:
排除:可讓您略過某些資料夾。
周遊深度上限:設定爬蟲程式可在 Amazon S3 儲存貯體中爬取的深度限制。預設的周遊深度上限為 10,而您可以設定的深度上限為 20。
注意
由於與 Hudi 0.13.1 和時間戳記類型不相容,邏輯類型為
millis
的時間戳記資料欄將解譯為bigint
。即將發布的 Hudi 版本中可能會提供解決方案。Hudi 資料表的分類如下,每個資料表都具有特定的含義:
寫入時複製 (CoW):資料會以單欄式格式 (Parquet) 存放,每次更新都會在寫入期間建立新版檔案。
讀取時合併 (MoR):資料的存放是使用單欄式格式 (Parquet) 和以資料列為基礎的格式 (Avro) 組合進行。更新會記錄到以資料列為基礎的 delta 檔案,並視需要壓縮以建立新版本的直欄式檔案。
使用 CoW 資料集,每次有記錄進行更新時,包含記錄的檔案就會以更新的值重寫。若使用 MoR 資料集,每次有更新時,Hudi 只會寫入已變更之記錄的資料行。MoR 更適合較少讀取,而寫入或變更較繁重的工作負載。CoW 更適合資料變更較不頻繁,而讀取作業較為繁重的工作負載。
Hudi 提供三個可用於資料存取的查詢類型:
快照查詢:查詢會查看截至指定遞交或壓縮動作之資料表的最新快照。對於 MoR 資料表,快照查詢會公開資料表的最新狀態,方法是合併查詢時最新檔案切片的基底和 delta 檔案。
增量查詢:查詢只會看到自指定遞交/壓縮以來在資料表中寫入的新資料。這會有效地提供變更串流,以啟用增量資料管道。
讀取最佳化查詢:對於 MoR 資料表,查詢會看到壓縮的最新資料。對於 CoW 資料表,查詢會看到遞交的最新資料。
對於「寫入時複製」資料表,爬行者程式會在「資料目錄」中建立含有 Serde 的單一資料表。 ReadOptimized
org.apache.hudi.hadoop.HoodieParquetInputFormat
對於「讀取時合併」資料表,爬蟲程式會在資料型錄中為相同的資料表位置建立兩個資料表:
帶有後綴的表
_ro
,它使用 ReadOptimized SERDEorg.apache.hudi.hadoop.HoodieParquetInputFormat
。帶有後綴的表
_rt
,它使用 RealTime Serde 允許快照查詢:org.apache.hudi.hadoop.realtime.HoodieParquetRealtimeInputFormat
。
- MongoDB 和 Amazon DocumentDB (with MongoDB compatibility)
-
支援 MongoDB 3.2 版和更新版本。您可以選擇只網路爬取一小部分的資料範例,以減少爬蟲程式的執行時間。
- 關聯式資料庫
-
身分驗證是使用資料庫使用者名稱和密碼。根據資料庫引擎的類型,您可以選擇要探索哪些物件 (例如資料庫、結構描述和資料表)。
- Snowflake
-
Snowflake JDBC 爬行者程式支援探索表格、外部表格、視觀表以及具體化視觀表。不會填入具體化視觀表定義。
對於 Snowflake 外部資料表,爬蟲程式只有在指向 Amazon S3 位置時才會進行網路爬取。除了資料表結構描述,爬蟲程式還會網路爬取 Amazon S3 位置、檔案格式和作為 Data Catalog 資料表中資料表參數的輸出內容。請注意,不會填入已分割外部資料表的分割區資訊。
ETL目前不支援使用雪花爬行者程式建立的「資料目錄」表格。