DW(六):polybase訪問Azure Blob Storage

来源:http://www.cnblogs.com/tgzhu/archive/2016/09/30/5913508.html
-Advertisement-
Play Games

目錄: 連接hadoop配置語法 配置hadoop連接 Pushdown配置 Create external tables for Azure blob storage 連接hadoop配置語法: global configuration settings for PolyBase Hadoop a ...


目錄:

  • 連接hadoop配置語法
  • 配置hadoop連接
  • Pushdown配置
  • Create external tables for Azure blob storage

連接hadoop配置語法:  


global configuration settings for PolyBase Hadoop and Azure blob storage connectivity, Syntax:

  • sp_configure:  List all of the configuration options
  • 配置與hadoop連接語法:
  • sp_configure [ @configname = ] 'hadoop connectivity',  
                 [ @configvalue = ] { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 }  
    [;]  
      
    RECONFIGURE  
    [;]    
    
    1. Option 0: Disable Hadoop connectivity
    2. Option 1: Hortonworks HDP 1.3 on Windows Server
    3. Option 1: Azure blob storage (WASB[S])
    4. Option 2: Hortonworks HDP 1.3 on Linux
    5. Option 3: Cloudera CDH 4.3 on Linux
    6. Option 4: Hortonworks HDP 2.0 on Windows Server
    7. Option 4: Azure blob storage (WASB[S])
    8. Option 5: Hortonworks HDP 2.0 on Linux
    9. Option 6: Cloudera 5.1, 5.2, 5.3, 5.4, and 5.5 on Linux
    10. Option 7: Hortonworks 2.1, 2.2, and 2.3 on Linux
    11. Option 7: Hortonworks 2.1, 2.2, and 2.3 on Windows Server
    12. Option 7: Azure blob storage (WASB[S])      
  • 示例代碼:
    1. 顯示所有可用的配置列表: EXEC sp_configure;
    2. 顯示某個配置項的配置信息:  EXEC sp_configure @configname='hadoop connectivity';
    3. 設置配置項示例語法如下:       
    4. sp_configure @configname = 'hadoop connectivity', @configvalue = 7;  
      GO  
        
      RECONFIGURE  
      GO   
      

       

 配置hadoop連接


  • 在本節示例中,連接HDInsight3.2集,對應關係如下:
  • 配置polybase連接配置項信息信息如下:
  • sp_configure @configname = 'hadoop connectivity', @configvalue = 7;  
    GO  
      
    RECONFIGURE  
    GO
    

     

  • 命令行:  services.msc, 重啟下麵的服務
    1. SQL Server PolyBase Data Movement Service
    2. SQL Server PolyBase Engine

 Pushdown配置:


  • To improve query performance, enable pushdown computation to a Hadoop cluster
  1. Find the file yarn-site.xml in the installation path of SQL Server. Typically, the path is: C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Polybase\Hadoop\conf
  2. On the Hadoop machine, find the analogous(類似) file in the Hadoop configuration directory. In the file, find and copy the value of the configuration key yarn.application.classpath
  3. On the SQL Server machine, in the yarn-site.xml file, find the yarn.application.classpath property. Paste the value from the Hadoop machine into the value element.
  4. $HADOOP_CONF_DIR,/usr/hdp/current/hadoop-client/*,/usr/hdp/current/hadoop-client/lib/*,/usr/hdp/current/hadoop-hdfs-client/*,/usr/hdp/current/hadoop-hdfs-client/lib/*,/usr/hdp/current/hadoop-yarn-client/*,/usr/hdp/current/hadoop-yarn-client/lib/*

     

 Create external tables for Azure blob storage


  • The Elastic(彈性) Database query feature relies on(依靠) the these four DDL statements. Typically, these DDL statements are used once or rarely when the schema of your application changes
    1. [CREATE MASTER KEY]    (https://msdn.microsoft.com/library/ms174382.aspx)
    2. [CREATE CREDENTIAL]    (https://msdn.microsoft.com/library/ms189522.aspx)
    3. [CREATE DATABASE SCOPED CREDENTIAL]   (https://msdn.microsoft.com/library/mt270260.aspx)
    4. [CREATE/DROP EXTERNAL DATA SOURCE]    (https://msdn.microsoft.com/library/dn935022.aspx)
    5. [CREATE/DROP EXTERNAL TABLE]                (https://msdn.microsoft.com/library/dn935021.aspx)
  • You can use the following syntax to drop the master key and credentials
    1. DROP CREDENTIAL <credential_name> ON DATABASE;
    2. DROP DATABASE SCOPED CREDENTIAL <credential_name>;
    3. DROP MASTER KEY; 
  • 模擬簡單文本數據,如下:
  •      
  • 將文本文件上傳到 Azure blob storage, 如下圖:
  • 遠程連接ploybase1, 打開ssms(註:此版本需單獨安裝),執行腳本如下:
  • CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Password01!'; 
    
    CREATE DATABASE SCOPED CREDENTIAL JNAzureCredit   
    WITH IDENTITY = 'zhushy', Secret =  XXXX';  /*存儲訪問Key*/ 
    
    
    CREATE EXTERNAL DATA SOURCE JNAzureStorage with (  
            TYPE = HADOOP,   
            LOCATION ='wasb://<blob_container_name>@<azure_storage_account_name>.blob.core.chinacloudapi.cn',  
            CREDENTIAL = JNAzureCredit  
    );
    
    
    CREATE EXTERNAL FILE FORMAT TextFileFormat WITH (  
            FORMAT_TYPE = DELIMITEDTEXT,   
            FORMAT_OPTIONS (FIELD_TERMINATOR =' ', USE_TYPE_DEFAULT = TRUE))
    
    CREATE EXTERNAL TABLE [dbo].[hospital] (  
            [ID] varchar(128) NULL,
            [name] varchar(128) null
    )  
    WITH (LOCATION='/zhu/data1.txt',   
            DATA_SOURCE = JNAzureStorage,  
            FILE_FORMAT = TextFileFormat  
    );  

     

  • 驗證數據,輸入如下SQL: select * from [dbo].[hospital] ,如下圖,則OK

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 死鎖的定義: 1、一般的死鎖 一般的死鎖是指多個線程的執行必須同時擁有多個資源,由於不同的線程需要的資源被不同的線程占用,最終導致僵持的狀態,這就是一般死鎖的定義。 package com.cxt.thread; public class TestDeadLock extends Thread{ b ...
  • redis下載地址:https://github.com/MSOpenTech/redis/releases。 Redis 的配置文件位於 Redis 安裝目錄下,文件名為redis.windows.conf,以前好像是 redis.conf,不過我下載的版本是redis.windows.conf, ...
  • 分組函數 什麼是分組函數 分組函數作用於一組數據,並對一組數據返回一個值 組函數類型:主要有6種 平均 計數 最大 最小 求和 方差 組函數語法 AVG(平均值)和 SUM (合計)函數 可以對 數值型數據 使用AVG 和 SUM 函數。 MIN(最小值)和 MAX(最大值)函數 可以對 任意數據類 ...
  • 【知識點整理】Oracle中NOLOGGING、APPEND、ARCHIVE和PARALLEL下,REDO、UNDO和執行速度的比較 1 BLOG文檔結構圖 2 前言部分 2.1 導讀和註意事項 各位技術愛好者,看完本文後,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~ ...
  • 最近抽時間把Redis學了一下,所以就在網上找了一些資料。然後找到 尚矽谷 周陽 老師的視頻教程,覺得裡面的講的挺好。所以就把他視頻當中的資料教程整理出來。 單機MySQL的美好時代 在90年代,一個網站的訪問量一般都不大,用單個資料庫完全可以輕鬆應付。 在那個時候,更多的都是靜態網頁,動態交互類型 ...
  • 在服務端開發過程中,一般會使用MySQL等關係型資料庫作為最終的存儲引擎,Redis其實也可以作為一種鍵值對型的資料庫,但在一些實際場景中,特別是關係型結構並不適合使用Redis直接作為資料庫。這倆家伙簡直可以用“男女搭配,幹活不累”來形容,搭配起來使用才能事半功倍。本篇我們就這兩者如何合理搭配以及... ...
  • 小Alan國慶後就要回深圳找工作了,最近在複習工作所需的相關的技術,今天剛好複習到redis,redis是一個非關係型(NoSql)資料庫,採用key-value的方式存儲數據,她可以保存字元串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted s ...
  • 從定義中我們可以看出方案(Schema)為資料庫對象的集合,為了區分各個集合,我們需要給這個集合起個名字,這些名字就是我們在企業管理器的方案下看到的許多類似用戶名的節點,這些類似用戶名的節點其實就是一個schema,schema裡面包含了各種對象如tables, views, sequences, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...