Azure 資料總管資料擷取概觀
數據擷取牽涉到將數據載入叢集中的數據表。 Azure Data Explorer 可確保數據有效性、視需要轉換格式,以及執行架構比對、組織、編製索引、編碼和壓縮等操作。 擷取之後,數據就可供查詢使用。
Azure Data Explorer 會使用串流或佇列擷取,提供一次性擷取或建立連續擷取管線。 若要判斷哪一個適合您,請參閱 單次數據擷取 和 連續數據擷取。
注意
根據設定 的保留原則,數據會保存在記憶體中。
單次數據擷取
單次擷取有助於傳輸歷程記錄數據、填入遺漏的數據,以及原型設計與數據分析的初始階段。 這種方法有助於快速的數據整合,而不需要持續管線承諾。
有多種方式可執行單次數據擷取。 使用下列判定樹來判斷最適合使用案例的選項:
如需詳細資訊,請參閱相關文件:
圖說文字 | 相關文件 |
---|---|
請參閱 Azure Data Explorer 支援的數據格式以進行擷取。 | |
請參閱 Azure Data Factory 管線支援的檔案格式。 | |
若要從現有的記憶體系統匯入數據,請參閱如何將歷程記錄數據擷取至 Azure Data Explorer。 | |
在 Azure Data Explorer Web UI 中,您可以從本機檔案、Amazon S3 或 Azure 記憶體取得數據。 | |
若要與 Azure Data Factory整合,請參閱使用 Azure Data Factory 將數據複製到 Azure Data Explorer。 | |
Kusto 用戶端連結庫 適用於 C#、Python、Java、JavaScript、TypeScript 和 Go。 您可以撰寫程式代碼來操作您的數據,然後使用 Kusto 內嵌連結庫將數據內嵌至 Azure Data Explorer 資料表。 在擷取之前,數據必須是其中一種 支援的格式 。 |
持續擷取資料
持續擷取在需要實時數據立即深入解析的情況下, 例如,連續擷取適用於監視系統、記錄和事件數據,以及即時分析。
連續數據擷取牽涉到使用串流或佇列擷取來設定擷取管線:
串流擷取:這個方法可確保每個數據表小型數據集的近乎實時延遲。 數據會從串流來源擷取微批次,一開始放在數據列存放區中,然後傳輸至數據行存放區範圍。 如需詳細資訊,請參閱 設定串流擷取。
佇列擷取:這個方法已針對高擷取輸送量進行優化。 數據會根據擷取屬性進行批處理,然後合併小型批次並針對快速查詢結果進行優化。 根據預設,佇列值上限為 5 分鐘、1000 個專案,或總大小為 1 GB。 佇列擷取命令的數據大小限制為 6 GB。 此方法會使用重試機制來減輕暫時性失敗,並遵循「至少一次」傳訊語意,以確保程式中不會遺失任何訊息。 如需佇列擷取的詳細資訊,請參閱 擷取批處理原則。
注意
在大部分情況下,我們建議使用佇列擷取,因為它是效能更高的選項。
有多種方式可以設定連續數據擷取。 使用下列判定樹來判斷最適合使用案例的選項:
如需詳細資訊,請參閱相關文件:
圖說文字 | 相關文件 |
---|---|
如需連接器清單,請參閱 連接器概觀。 | |
建立事件中樞數據連線。 與事件中樞的整合提供節流、重試、監視和警示等服務。 | |
從 Apache Kafka 擷取數據,這是一個分散式串流平臺,用於建置即時串流數據管線。 | |
建立 IoT 中樞 數據連線。 與IoT中樞整合可提供節流、重試、監視和警示等服務。 | |
建立事件方格數據連線。 與事件方格整合可提供節流、重試、監視和警示等服務。 | |
請參閱相關連接器的指引,例如Apache Spark、Apache Kafka、Azure Cosmos DB、Fluent Bit、Logstash、Open Telemetry、Power Automate、Splunk 等等。 如需詳細資訊,請參閱 連接器概觀。 | |
Kusto 用戶端連結庫 適用於 C#、Python、Java、JavaScript、TypeScript 和 Go。 您可以撰寫程式代碼來操作您的數據,然後使用 Kusto 內嵌連結庫將數據內嵌至 Azure Data Explorer 資料表。 在擷取之前,數據必須是其中一種 支援的格式 。 |
注意
所有擷取方法不支援串流擷取。 如需支援詳細數據,請查看檔以瞭解特定的擷取方法。
使用管理命令直接擷取
Azure Data Explorer 提供下列擷取管理命令,它會將數據直接內嵌到您的叢集,而不是使用數據管理服務。 它們只能用於探索和原型設計,而不是用於生產或大量案例。
- 內嵌擷取: .ingest inline 命令 包含要內嵌的數據,成為命令文字本身的一部分。 此方法適用於即興測試用途。
- 從查詢擷取: .set、.append、.set-or-append 或 .set-or-replace 命令 會間接指定要內嵌的數據作為查詢或命令的結果。
- 從記憶體擷取:.ingest into 命令會取得從外部記憶體擷取的數據,例如 Azure Blob 儲存體,叢集可存取,並由 命令指向。
比較擷取方法
下表比較主要擷取方法:
擷取名稱 | 資料類型 | 檔案大小上限 | 串流、已排入佇列、直接 | 最常見的案例 | 考量 |
---|---|---|---|---|---|
Apache Spark 連接器 | Spark 環境支援的每個格式 | 無限制 | 已排入佇列 | 現有的管線,在擷取之前先在Spark上預先處理,快速建立安全 (Spark) 串流管線,以及Spark環境支援的各種來源。 | 請考慮 Spark 叢集的成本。 針對批次寫入,請與事件方格的 Azure Data Explorer 數據連線進行比較。 針對Spark串流,請與事件中樞的數據連線進行比較。 |
Azure Data Factory (ADF) | 支援的資料格式 | 無限制。 繼承ADF限制。 | 佇列或每個 ADF 觸發程式 | 支援不支援的格式,例如 Excel 和 XML,而且可以從 Perm 將大型檔案從 90 個來源複製到雲端 | 這個方法需要相當多的時間,直到擷取數據為止。 ADF 會將所有數據上傳至記憶體,然後開始擷取。 |
Event Grid | 支援的資料格式 | 1 GB 未壓縮 | 已排入佇列 | 從 Azure 儲存體、Azure 儲存體中的外部資料進行連續擷取 | 擷取可由 Blob 重新命名或 Blob 建立動作觸發 |
事件中樞 | 支援的資料格式 | N/A | 已排入佇列,串流 | 訊息、事件 | |
取得數據體驗 | *SV、JSON | 1 GB 未壓縮 | 佇列或直接擷取 | 一次性、建立數據表架構、使用事件方格進行連續擷取的定義、使用容器大量擷取 (最多 5,000 個 Blob;使用歷程記錄擷取) 時沒有限制 | |
IoT 中心 | 支援的資料格式 | N/A | 已排入佇列,串流 | IoT 訊息、IoT 事件、IoT 屬性 | |
Kafka 連接器 | Avro、ApacheAvro、JSON、CSV、Parquet 和 ORC | 無限制。 繼承 Java 限制。 | 已排入佇列,串流 | 現有的管線,來自來源的大量耗用量。 | 喜好設定可由多個產生者或取用者服務的現有使用或所需的服務管理層級來決定。 |
Kusto 用戶端連結庫 | 支援的資料格式 | 1 GB 未壓縮 | 已排入佇列、串流、直接存取 | 根據組織需求撰寫自己的程式碼 | 程序設計擷取優化,可藉由在擷取程式期間和之後將記憶體交易最小化,以降低擷取成本 (CO) G。 |
LightIngest | 支援的資料格式 | 1 GB 未壓縮 | 佇列或直接擷取 | 數據遷移、具有已調整擷取時間戳的歷程記錄數據、大量擷取 | 區分大小寫和區分空間 |
Logic Apps | 支援的資料格式 | 1 GB 未壓縮 | 已排入佇列 | 用來自動化管線 | |
LogStash | JSON | 無限制。 繼承 Java 限制。 | 已排入佇列 | 現有的管線,使用Logstash的成熟、開放原始碼本質,從輸入 () 大量耗用量。 | 喜好設定可由多個產生者或取用者服務的現有使用或所需的服務管理層級來決定。 |
Power Automate | 支援的資料格式 | 1 GB 未壓縮 | 已排入佇列 | 在流程中擷取命令。 用來自動化管線。 |
如需其他連接器的詳細資訊,請參閱 連接器概觀。
權限
下列清單描述各種擷取案例所需的許可權:
- 若要建立新的數據表,至少需要資料庫用戶權力。
- 若要將數據內嵌到現有的數據表,而不需變更其架構,至少需要資料庫擷取器許可權。
- 若要變更現有數據表的架構,至少需要數據表 管理員 或資料庫 管理員 許可權。
如需詳細資訊,請參閱 Kusto 角色型訪問控制。
擷取程式
下列步驟概述一般擷取程式:
設定批處理原則 (選擇性) :數據會根據 擷取批處理原則進行批處理。 如需指引,請參閱 優化輸送量。
設定保留原則 (選擇性) :如果資料庫保留原則不適合您的需求,請在數據表層級覆寫它。 如需詳細資訊,請參閱保留原則 \(英文\)。
建立數據表:如果您使用取得數據體驗,您可以在擷取流程中建立數據表。 否則,請在 Azure Data Explorer Web UI 或 .create table 命令中擷取之前建立數據表。
建立架構對應: 架構對應 有助於將源數據欄位系結至目的地數據表數據行。 支援不同類型的對應,包括 CSV、JSON 和 AVRO 等數據列導向格式,以及 Parquet 等數據行導向格式。 在大部分的方法中,對應也可以在 數據表上預先建立。
設定更新原則 (選擇性) :特定數據格式,例如 Parquet、JSON 和 Avro,可讓您直接擷取時間轉換。 如需擷取期間更複雜的處理,請使用 更新原則。 此原則會自動對原始數據表內嵌的數據執行擷取和轉換,然後將修改的數據內嵌到一或多個目的地數據表。
擷取數據:使用您慣用的擷取工具、連接器或方法來帶入數據。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應