數據加載在磚使用流表的SQL

預覽

這個特性是在公共預覽。注冊訪問,填寫這張表格

使用磚磚建議使用流表來攝取數據的SQL。一個流表是一個統一目錄管理表,額外支持流媒體或增量數據處理。DLT管道自動為每個流創建表。您可以使用流表的增量數據加載卡夫卡和雲對象存儲。

本文演示了使用流表加載數據從雲對象存儲配置為一個統一的目錄卷(推薦)或外部位置。

在你開始之前

在您開始之前,確保你有以下幾點:

  • 一個磚帳戶啟用了serverless。有關更多信息,請參見使用serverless SQL倉庫

  • 工作區與統一目錄啟用。有關更多信息,請參見開始使用統一目錄

  • 一個SQL倉庫使用當前的通道。

  • 文件特權在統一目錄外的位置。信息,請參閱管理外部位置和存儲憑證

  • 使用目錄特權的目錄創建流表。

  • 使用模式特權的模式創建流表。

  • 創建特權的模式創建流表。

  • 通往你的源數據。

    體積路徑的例子:/卷/ <目錄> / <模式> / <卷> / <路徑> / <文件名稱>

    外部位置路徑的例子:s3: / / myBucket /分析

    請注意

    本文假設您想要加載的數據是在一個雲存儲位置對應於一個統一的目錄體積或外部位置你可以訪問。

發現和預覽源數據

  1. 側邊欄的工作區,點擊查詢,然後單擊創建查詢

  2. 在查詢編輯器中,選擇一個SQL倉庫使用當前的通道從下拉列表中。

  3. 將以下粘貼到編輯器中,用尖括號中的值(< >信息識別源數據),然後單擊運行

    請注意

    您可能會遇到當運行模式推理錯誤read_file表值函數如果函數的缺省值無法解析您的數據。例如,您可能需要配置多行多行模式CSV或JSON文件。解析器選項的列表,請參閱read_file表值函數

    / *發現您的數據在一個卷* /列表“/卷/ <目錄> / <模式> / <卷> / <路徑> / <文件夾>”/ * * /預覽數據卷選擇*read_file(“/卷/ <目錄> / <模式> / <卷> / <路徑> / <文件夾>”)限製10/ *發現你的數據在外部位置* /列表“s3: / / <桶> / <路徑> / <文件夾>”/ * * /預覽數據選擇*read_file(“s3: / / <桶> / <路徑> / <文件夾>”)限製10

數據加載到一個流表

創建一個流表從雲中的數據對象存儲、查詢以下粘貼到編輯器,然後單擊運行:

* / / *加載數據從一個卷創建刷新流媒體<- - - - - -的名字>作為選擇*read_file(' /卷/ <目錄> / <模式> / <卷> / <路徑> / <目錄>的)/ *加載數據從外部位置* /創建刷新流媒體<- - - - - -的名字>作為選擇*read_file(s3: / / <桶> / <路徑> / <目錄>的)

刷新一個流表使用一個DLT管道

本節描述模式刷新流表的最新數據從數據源中定義的查詢。

創建流表的操作使用磚SQL倉庫的初始創建和加載數據到流表中。刷新流表的操作使用三角洲住表(DLT)。DLT管道自動為每個流創建表。流表更新時,更新刷新的DLT管道啟動過程。

當您運行這個刷新返回命令,DLT管道連接。您可以使用DLT管道鏈接檢查更新的狀態。

請注意

隻有表的所有者可以刷新一個流表來獲得最新的數據。用戶創建的表是所有者,和業主不能被改變。

看到δ生活是什麼表?

隻攝取新的數據

默認情況下,read_file函數讀取源目錄中的所有現有數據在表創建,然後流程新到達每次刷新記錄。

避免攝入源目錄中已經存在的數據在表創建時,使用ignoreExistingFiles選擇。這意味著隻有數據表創建處理後抵達的目錄。例如:

創建刷新流媒體my_bronze_table作為選擇*read_file(s3: / / mybucket /分析/ * / * / * . json的,ignoreExistingFiles= >)

完全刷新流表

全部刷新處理文檔中的所有數據來源的最新定義。不建議把全部刷新來源,不要讓整個的曆史數據保留時間或短,比如卡夫卡,因為完整的刷新對現有數據截斷。你可能無法恢複舊的數據,如果數據來源不再可用。

例如:

刷新流媒體my_bronze_table完整的

安排一個流表自動刷新

配置一個流表自動刷新基於定義的時間表,將以下粘貼到查詢編輯器,然後單擊運行:

改變流媒體[[<目錄>)<數據庫>)<的名字>添加(時間表(刷新]CRON“< cron-string >”(時間“< timezone-id >”]];

例如刷新進度查詢,看看改變流表

跟蹤更新的狀態

您可以查看一個流表的狀態刷新通過查看管道管理流表在三角洲地區的生活表UI或通過查看刷新信息返回的描述擴展命令流表。

描述擴展<- - - - - -的名字>

流從卡夫卡攝入

流攝入從卡夫卡的例子,請參閱read_kafka

授予用戶訪問一個流表

授予用戶選擇流表上的特權,這樣他們就可以查詢,查詢以下粘貼到編輯器,然後單擊運行:

格蘭特選擇<目錄><模式><><用戶- - - - - -- - - - - -集團>

關於授予權限的更多信息在統一目錄可獲得的對象,明白了統一目錄權限和可獲得的對象