DW(六):polybase访问Azure Blob Storage

目录:

  • 连接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
时间: 2024-11-01 03:44:07

DW(六):polybase访问Azure Blob Storage的相关文章

presto访问 Azure blob storage

当集群使用Azure Blog Storage时,prestoDB无法获取返回结果,在此记录下 如下,hive里面的两个表,一个使用的是本地的hdfs,一个是使用 azure blob storage, presto 能访问到hive里面的所有表结构,能查询本地hdfs的hive表,如下: 在返回查询数据时,本地hdfs 存储正常 存储在azure blob storage上的数据返回异常,如下: 问题待解决中....... 收集资料: http://stackoverflow.com/ques

Azure Blob Storage从入门到精通

今天推荐的是一个系列文章,让读者阅读完成后可以对Azure Blob Storage的开发有一个全面的了解,可谓是从入门到精通. Azure在最初的版本里面就提供了非结构化数据的存储服务,也即Blob Storage.其是Azure中非常重要和基础的一项服务,支撑着很多其他服务的运行(比如虚拟机等).前不久Azure出现故障,就是Blob Storage导致的. Robin Shahan(女程序猿)发表了一个系列文章,全面的介绍Azure Blob Storage的开发.这个系列文章分为10个部

Python 操作 Azure Blob Storage

笔者在<Azure 基础:Blob Storage>一文中介绍了 Azure Blob Storage 的基本概念,并通过 C# 代码展示了如何进行基本的操作.最近笔者需要在 Linux 系统中做类似的事情,于是决定使用 Azure 提供的 Azure Storage SDK for Python 来操作 Blob Storage.这样今后无论在 Windows 上还是 Linux上,都用 Python 就可以了.对 Azure Blob Storage 概念还不太熟悉的同学请先参考前文. 安

使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件

Azure的存储包含Storage Account.Container.Blob等具体的关系如下: 我们常用的blob存储,存放在Storage Account的Container里面. 目前有三种方式可以把Blob里的内容共享给其他用户,这三种方式是: 1.把Container的属性设置为公共容器 2.把Blob属性设置为公共公共Blob 设置好后,blob就可以通过wget的方式下载下来. 3.通过SAS Token的方式实现在一定时间段内的文件共享 SAS是shared access si

将数据库备份到AZURE blob storage

1创建一个Storage Account 1)点击Browse->Storage accounts 2) 填写Storage account,请记住这个名字,之后创建credential需要用到. 3)点击Create. 一般等待一段时间就好了 2 创建container 1)All resources->Blobs 2)在Blob service页面,点击创建一个新的containers. 3)Container的url需要记住,在备份的时候需要指定 3 创建credential 1) Al

基于Azure blob storage T级别HBase表恢复

为减少Hbase集群压力,提高性能,我们将HBase库中的数据移到另外的存储,下面记录当我需要对数据进行计算时,数据恢复的过程 目录: Azure storage explorer 工具 数据复制 元数据修复 测试验证 Azure Storage Explorer工具 免费工具下载地址:http://storageexplorer.com/ 本地安装后,连接至Azure存储,如下图: 说明: 源存储和目标存储所属同一区域时,复制性能更佳,同时注意一下,我使用的storage explorer比较

Azure blob Storage Snapshot

用户虚拟机硬盘的备份是客户在部署云应用中是一个非常重要的部分. 目前有多种平台的备份方法: 捕获镜像:可以采用Capture的方式(powershell命令为Save-AzureVMImage)捕获虚拟机系统盘和数据盘.但这种方式占用空间太大,而且Capture的Image数量也是有数量限制的.所以不是优选的方案. 复制硬盘vhd文件:通过AzCopy的方式,把VM的vhd复制到部分的blob的container中.这种方式也是占用空间大.不适合大规模的备份,只适合灾备时的使用. 对Blob的v

Windows Azure - Error of &quot;MEDIA12899: AUDIO/VIDEO: Unknown MIME type&quot; and Blob Storage

We have a Azure website using JPlayer to play audio/video (mp3 or mp4) stored in Azure Blob storage. Some media is playing well, while some never play on Windows 7 IE 11 with below console error: MEDIA12899: AUDIO/VIDEO: Unknown MIME type Then we not

Azure File Storage 基本用法 -- Azure Storage 之 File

Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure Blob Storage 基本用法>中介绍了 Blob Storage 的基本用法,本文将介绍 File Storage 的主要使用方法. File Storage 是什么? Azure File Storage 是一个通过 Server Message Block (SMB) 协议提供云端文件共享的服务.通过 File Stor