跳到主要內容 跳至補充內容

Azure Synapse Analytics

您可以使用 Azure Synapse Analytics 作為資料管道中的目標資料平台。在資料管道中,可以在目標平台執行各種操作,包括登陸資料、儲存資料、轉換資料、資料超市建立和資料註冊。

這涉及:

設定雲端暫存區域

資訊備註若您註冊現有資料,您不需要設定雲端暫存區域。

您也需要有 Azure Data Lake Storage 雲端暫存區域,資料和變更在套用和儲存之前會在該區暫存。如需設定連線至 Azure Data Lake Storage 的資訊,請參閱 Azure Data Lake Storage

設定 Azure Synapse Analytics 連線屬性

您提供了 Azure Data Lake Storage 目標設定後,選取 Azure Synapse Analytics 目標連接器並提供下列設定:

資料目標

資料閘道: 只有在無法從 Qlik Cloud 存取目標資料庫且只能使用私人連結存取時 (例如若將在虛擬私人雲端中),才需要 資料移動閘道。在此情況下,選取您要用來存取目標資料庫的 資料移動閘道

根據您的使用情況,這會是為了從資料來源登陸資料而部署的相同或不同 資料移動閘道。如需關於可能的 資料移動閘道 部署可能性的資訊,請參閱 常見使用案例

資訊備註需要 資料移動閘道 2023.5.10 或更高版本。

若目標資料庫可從 Qlik Cloud 直接存取,請選取

資訊備註透過 資料移動閘道 存取目標資料庫時,您也需要在 資料移動閘道 機器上安裝適當的驅動程式。如需詳細資訊,請參閱以下的 Azure Synapse Analytics

連線屬性

  • 伺服器:用來識別 Azure Synapse Analytics 資料庫位置的主機名稱。

  • 連接埠:藉此存取 Azure Synapse Analytics 資料庫的連接埠。預設為 1433。

帳戶屬性

使用者名稱密碼: 獲得授權可存取 Azure Synapse Analytics 資料庫的使用者的使用者名稱和密碼。

資料庫屬性

  • 資料庫名稱:有兩種方法可用來指定資料庫:

    • 方法 1 - 從清單中選取:此方法要求在主要資料庫上建立使用者。按一下載入資料庫,然後選取資料庫。
    • 方法 2 - 手動:選取手動輸入資料庫名稱,然後輸入資料庫名稱。

資料載入屬性

資訊備註若您正在註冊資料 (亦即不登陸資料),則不需要這些欄位。

可以在執行階段期間自動建立 SQL Server 認證 (預設),或您可以使用現有認證。按適當情況進行下列內容之一:

  • 若選取建立 SQL Server 認證核取方塊 (預設),將會在執行階段期間自動建立 SQL Server 認證。在存取金鑰欄位中指定存取金鑰。
  • 若要使用現有認證,清除建立 SQL Server 認證核取方塊,並在認證名稱欄位中指定 SQL Server 認證名稱。

名稱

連線的顯示名稱。

必要條件

權限

您需要授予儲存區權限和資料庫權限,如下所述。

儲存區的權限

在 Azure Synapse Analytics 連接器中指定的使用者必須獲得對於儲存區的以下權限。

  • 對 ADLS Gen2 Storage 容器:列示
  • 對 ADLS Gen2 Storage 資料夾:讀取、寫入和刪除
  • 在 ADLS Gen2 檔案系統的存取控制 (IAM) 設定中,指定「儲存 Blob 資料參與者」角色至 資料移動閘道 (AD App ID)。可能需要幾分鐘角色才會生效。

對資料庫的權限

在 Azure Synapse Analytics 連接器中指定的使用者必須在資料庫獲得以下權限:

  • 一般授權:

    • db_owner 角色
  • 表格授權:

    • 選取、插入、更新和刪除
    • 大量載入
    • 建立、警告、拖放(如果任務定義要求)

資料庫選項

為了能夠選取資料庫 (透過在連接器對話方塊中按一下載入資料庫),需要在主要資料庫建立連接器設定中指定的使用者。

驅動程式的設定

只有在透過 資料移動閘道 存取資料庫時,才需要驅動程式。在這類情況下,您需要將驅動程式安裝在 資料移動閘道 機器。

您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 driver。只能在不太可能發生的事件 (您在使用驅動程式安裝公用程式時遇到問題) 中嘗試手動安裝。

使用驅動程式安裝公用程式來安裝驅動程式

此區段描述如何安裝所需的 driver。該流程涉及執行將會自動下載、安裝並設定所需 driver 的指令碼。您也可以執行指令碼,以根據需求更新並解除安裝 driver

  • 確認 Python 3.6 或更高版本安裝於 資料移動 閘道伺服器。

    Python 會預先安裝在大部分的 Linux 發行版。您可以執行下列命令,以查看哪個 Python 版本安裝在您的系統上:

    python3 --version

若要下載並安裝 driver

  1. 停止 資料移動閘道 服務:

    sudo systemctl stop repagent

  2. 可自選,確認服務已停止:

    sudo systemctl status repagent

    狀態應如下所示:

    Active: inactive (dead) since <timestamp> ago

  3. 資料移動 閘道機器上,將工作目錄變更為:

    opt/qlik/gateway/movement/drivers/bin

  4. 執行下列命令:

    語法:

    ./install sqlserver

    若無法下載 driver (由於存取限制或技術問題),將會顯示訊息,指示您到哪裡下載 driver 以及在 資料移動 閘道機器上的何處複製。完成後,再次執行 install sqlserver 命令。

    否則,就會顯示 driver 的 EULA。

  5. 執行下列其中一個動作:

    • 重複按下 [Enter] 以緩慢瀏覽 EULA。
    • 重複按下空格鍵以快速瀏覽 EULA。
    • 按下 q 以結束授權文字並呈現 EULA 接受選項。
  6. 執行下列其中一個動作:

    • 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
    • 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
    • 輸入「v」並按下 [Enter] 以再次檢視 EULA。

  7. 將會安裝 driver

  8. 等待安裝完成 (以「完成!」指示),然後開始 資料移動閘道 服務:

    sudo systemctl start repagent

  9. 可自行選擇確認服務已開始:

    sudo systemctl status repagent

    狀態應如下所示:

    Active: active (running) since <timestamp> ago

若您想要在安裝提供的 driver 之前解除安裝先前的 driver 版本,請執行更新命令。

若要下載並更新 driver

  1. 停止 資料移動閘道 服務:

    sudo systemctl stop repagent

  2. 可自選,確認服務已停止:

    sudo systemctl status repagent

    狀態應如下所示:

    Active: inactive (dead) since <timestamp> ago

  3. 資料移動 閘道機器上,將工作目錄變更為:

    opt/qlik/gateway/movement/drivers/bin

  4. 執行下列命令:

    語法:

    ./update sqlserver

    若無法下載 driver (由於存取限制或技術問題),將會顯示訊息,指示您到哪裡下載 driver 以及在 資料移動 閘道機器上的何處複製。完成後,再次執行 update sqlserver 命令。

    否則,就會顯示 driver 的 EULA。

  5. 執行下列其中一個動作:

    • 重複按下 [Enter] 以緩慢瀏覽 EULA。
    • 重複按下空格鍵以快速瀏覽 EULA。
    • 按下 q 以結束授權文字並呈現 EULA 接受選項。
  6. 執行下列其中一個動作:

    • 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
    • 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
    • 輸入「v」並按下 [Enter] 以從頭檢閱 EULA。
  7. 將會解除安裝舊版 driver,並安裝新版 driver

  8. 等待安裝完成 (以「完成!」指示),然後開始 資料移動閘道 服務:

    sudo systemctl start repagent

  9. 可自行選擇確認服務已開始:

    sudo systemctl status repagent

    狀態應如下所示:

    Active: active (running) since <timestamp> ago

若您想要解除安裝 driver,請執行解除安裝命令。

若要解除安裝 driver

  1. 停止設定為使用此連接器的所有任務。

  2. 資料移動 閘道機器上,將工作目錄變更為:

    opt/qlik/gateway/movement/drivers/bin

  3. 執行下列命令:

    語法:

    ./uninstall sqlserver

    將會解除安裝 driver

手動安裝驅動程式

只有在自動驅動程式安裝無法成功完成時,才能嘗試手動安裝 driver

您需要安裝 ODBC 驅動程式和 JDBC 驅動程式。

安裝 資料移動閘道 後,下載 msodbcsql<version>.x86_64.rpm 驅動程式。您可以在 /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yamlbinary-artifacts 之下找到支援版本的直接下載連結。下載完成後,將 RPM 複製到 資料移動閘道 機器。

Data Movement gateway 伺服器上,開啟 shell prompt 並進行以下項目:

  1. 停止 Data Movement gateway 服務:

    sudo systemctl stop repagent

  2. 可自選,確認服務已停止:

    sudo systemctl status repagent

  3. 狀態應如下所示:

    Active: inactive (dead) since <timestamp> ago

  4. 安裝驅動程式 (RPM)。

  5. 變更任務目錄至 <product_dir>/bin

  6. 複製驅動程式位置至 site_arep_login.sh 檔案,如下所示:

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/msodbcsql<version>/lib64/" >> site_arep_login.sh

    這將新增驅動程式至「LD_LIBRARY_PATH」並更新位於以下的驅動程式位置: site_arep_login.sh 檔案。

  7. 可自選,確認已複製驅動程式位置:

    cat site_arep_login.sh
  8. 開始 Data Movement gateway 服務:

    sudo systemctl start repagent

  9. 可自選,確認服務已開始:

    sudo systemctl status repagent

    狀態應如下所示:

    Active: active (running) since <timestamp> ago

  10. Data Movement gateway 需要以下 ODBC 物件庫:msodbcsql-18.1.so.1.1

    要檢查目前安裝的物件庫版本,請發出以下指令:

    ls /opt/microsoft/msodbcsql<version>/lib64/

    若現有的物件庫有不同的版本號碼 (例如 libmsodbcsql-18.0.so.1.1),您需要在現有物件庫和必要物件庫之間建立符號連結。

    要這麼做,請發出以下指令:

    cd /opt/microsoft/msodbcsql<version>/lib64/
    ln -s existing_library_name msodbcsql-18.1.so.1.1

    existing_library_name 為目前安裝物件庫的名稱 (如 libmsodbcsql-18.0.so.1.1)。

  1. 下載 mssql-jdbc-<version>.jar 檔案。您可以在 /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yamlbinary-artifacts 之下找到支援版本的直接下載連結。下載完成後,將 JAR 檔案複製到 資料移動閘道 機器的下列資料夾:

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. 執行 重新啟動服務 中描述的命令,以重新啟動 資料移動閘道 服務

連接埠

  • 資料移動閘道在機器之外的 Azure 運作,開啟連接埠 1433 進行傳出的通訊。
  • 資料移動閘道在 AzureVM 上運作,開啟以下連接埠進行傳出的通訊:
    • 1433
    • 11000-11999
    • 14000-14999

限制和考慮事項

使用 Azure Synapse Analytics 作為目標時,您需要考量下列限制和考慮事項:

  • 具有 CHAR/VARCHAR 資料類型和非拉丁定序 (例如「Chinese_PRC_CI_AS」) 的來源欄和需要對應至 NVARCHAR。

  • 空的來源欄處理:

    • 登陸 來源二元欄 (例如 VARBINARY 或 BLOB) 有空的值,資料移動閘道 會將 NULL 插入對應的目標欄中。

    資訊備註空的值不是 NULL,但資料長度為零。
  • 不支援超過 1 MB 的記錄 登陸
  • 登陸 具有 4 位元組表情圖示字元的資料需要該資料類型是目標上的寬字串 (例如 NCHAR/NVARCHAR/NCLOB)。

資料類型

下表顯示使用 Qlik Cloud 時支援的 Azure Synapse Analytics 資料類型和來自 Qlik Cloud 資料類型的預設對應。

會保留原生資料類型資訊,並顯示在資料集檢視的原生資料類型欄中。若看不見欄,您需要開啟資料集檢視的欄選擇器並選取原生資料類型欄。

支援的資料類型
Qlik Cloud 資料類型 Azure Synapse Analytics 資料類型

布林

位元

位元組

VARBINARY (以位元組為單位的長度)

日期

日期

時間

時間

日期時間

日期時間

INT1

BYTEINT

INT2

SMALLINT

INT4

整數

INT8

BIGINT

數字

數字 (精確度,縮放)

REAL4

實際

REAL8

浮動

UINT1

BYTEINT

UINT2

整數

UINT4

整數

UINT8

BIGINT

字串

VARCHAR (以位元組為單位的長度)

WSTRING

NVARCHAR (以位元組為單位的長度)

BLOB

VARBINARY (以位元組為單位的長度)

NCLOB

NVARCHAR (以位元組為單位的長度)

CLOB

VARCHAR (以位元組為單位的長度)

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!