05.SQL Server大数据群集小试牛刀--HDFS查询
05.SQL Server大数据群集小试牛刀--HDFS查询
SQL Server大数据群集查询HDFS ,利用之前创建好的大数据群集,使用官方提供的测试数据进行测试。脚本是官方的脚本,要知道干了什么,就需要分析脚本了。大概干几件事情
1、下载测试数据bak
2、还原数据库
3、导入出数据写入到HDFS
要完成这些任务,必须有几个工具才能完成,所以前提条件是要安装之前提过的几个大数据工具,这里至少需要SQLCMD、kubectl、BCP
首先必须按照SQLCMD命令行
1、下载 ODBC驱动:并安装
https://www.microsoft.com/zh-CN/download/details.aspx?id=36433
2、 下载Microsoft® Command Line Utilities 11 for SQL Server® 并安装
https://www.microsoft.com/zh-CN/download/details.aspx?id=36434
安装完成后,添加path路径C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn,重启计算机(默认看的人懂怎么添加path)
3、下载数据脚本
在CMD 窗口下载 cmd脚本 curl -o bootstrap-sample-db.cmd "https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/bootstrap-sample-db.cmd"下载sql脚本 curl -o bootstrap-sample-db.sql "https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/bootstrap-sample-db.sql"
4、需要下列参数。
可以使用下面命令获取参数
获取SQL_MASTER_IP 参数 kubectl get svc endpoint-master-pool -n sqlbigdata2获取<KNOX_IP> kubectl get svc endpoint-security -n sqlbigdata2
名称 ,密码都是在之前配置的环境参数中配置
参数 | Description |
---|---|
<CLUSTER_NAMESPACE> | 提供你的大数据群集的名称。 |
<SQL_MASTER_IP> | 主实例的 IP 地址。 |
<SQL_MASTER_SA_PASSWORD> | 主实例 SA 密码。 |
<KNOX_IP> | HDFS/Spark 网关的 IP 地址。 |
<KNOX_PASSWORD> | HDFS/Spark 网关的密码。 |
5、获取相应的参数后,打开CMD窗口,导航到存放 bootstrap-sample-db.cmd的路径下。执行如下命名
bootstrap-sample-db.cmd <CLUSTER_NAMESPACE> <SQL_MASTER_IP> <SQL_MASTER_SA_PASSWORD> <KNOX_IP> <KNOX_PASSWORD>
这里提示competed successfully成功。如果不成功,会提示输出日志路径。查看错误原因。
连接大数据群集可以看到HDFS 下面有两个文件: web_clickstreams.csv, product_reviews.csv
使用Azure Data Studio 连接主数据,运行下面查询:
use sales /* 创建格式*/ CREATE EXTERNAL FILE FORMAT csv_file WITH (FORMAT_TYPE = DELIMITEDTEXT,FORMAT_OPTIONS(FIELD_TERMINATOR = ',',STRING_DELIMITER = '"',FIRST_ROW = 2,USE_TYPE_DEFAULT = TRUE) ); go /*创建外接表*/ CREATE EXTERNAL TABLE [web_clickstreams_hdfs] ("wcs_click_date_sk" BIGINT , "wcs_click_time_sk" BIGINT , "wcs_sales_sk" BIGINT , "wcs_item_sk" BIGINT , "wcs_web_page_sk" BIGINT , "wcs_user_sk" BIGINT) WITH (DATA_SOURCE = SqlStoragePool,LOCATION = '/clickstream_data',FILE_FORMAT = csv_file ); GO/*查询*/ SELECT wcs_user_sk,SUM( CASE WHEN i_category = 'Books' THEN 1 ELSE 0 END) AS book_category_clicks,SUM( CASE WHEN i_category_id = 1 THEN 1 ELSE 0 END) AS [Home & Kitchen],SUM( CASE WHEN i_category_id = 2 THEN 1 ELSE 0 END) AS [Music],SUM( CASE WHEN i_category_id = 3 THEN 1 ELSE 0 END) AS [Books],SUM( CASE WHEN i_category_id = 4 THEN 1 ELSE 0 END) AS [Clothing & Accessories],SUM( CASE WHEN i_category_id = 5 THEN 1 ELSE 0 END) AS [Electronics],SUM( CASE WHEN i_category_id = 6 THEN 1 ELSE 0 END) AS [Tools & Home Improvement],SUM( CASE WHEN i_category_id = 7 THEN 1 ELSE 0 END) AS [Toys & Games],SUM( CASE WHEN i_category_id = 8 THEN 1 ELSE 0 END) AS [Movies & TV],SUM( CASE WHEN i_category_id = 9 THEN 1 ELSE 0 END) AS [Sports & Outdoors]FROM [dbo].[web_clickstreams_hdfs]INNER JOIN item it ON (wcs_item_sk = i_item_skAND wcs_user_sk IS NOT NULL) GROUP BY wcs_user_sk; GO
从下图看到,创建了一个外接表叫web_clickstreams_hdfs
执行了这个比较复杂的查询结果有88695行,耗时2分钟。这个速度感觉还可以的。(环境是用的Azure L4s的机型,4vcpu,32g内存)。
除了可以直接连接HDFS 外,还可以连接SQL Server 、Oracle。也可以使用Spark建立任务作业加载数据,还可以使用Spark notebook来 连接数据库进行使用。实现了数据虚拟化。而群集实现了计算和存储的分离。
上面从创建到使用,其实你是不是也没感觉出大数据群集的强大之处?
下一篇深入来了解下大数据群集,到底有啥神秘和不同之处。
作者简介: Max Shen(阿特),为了成为数据专家而努力,万一实现了呢!有多年的系统运维,数据库运维经验。近20年的IT从业经验,在微软有超过10年的工作经验。对数据库运维调优,排错,有独到能力。电话微信18628037379,maxcloud@outlook.com
05.SQL Server大数据群集小试牛刀--HDFS查询相关推荐
- SQL Server 2019 新特性之 SQL Server大数据群集 介绍(一)
SQL Server 2019 新特性之 SQL Server大数据群集 介绍(一) 从开始SQL Server 2019 预览,SQL Server 大数据群集允许你部署的 Kubernetes 上 ...
- 04.千淘万漉虽辛苦,吹尽黄沙始到金——SQL Server大数据群集初探
04.千淘万漉虽辛苦,吹尽黄沙始到金--SQL Server大数据群集初探 [TOC] 上一篇终于创建好了群集,但是如何使用呢?首选需要理解SQL Server 2019 大数据群集的概念,从开始SQ ...
- 03.三月风雨愁断肠,学习大数据特别忧伤——谈谈AKS创建SQL Server大数据群集创建愁断肠
03.三月风雨愁断肠,学习大数据特别忧伤--谈谈AKS创建SQL Server大数据群集创建愁断肠 [TOC] 前言 使用AKS创建SQL Server大数据群集有几种方法,由于产品不断的更新,SQL ...
- SQL Server 大数据群集 部署(二)工具篇
SQL Server 大数据群集 部署(二)工具篇 在进行部署大数据群集之前,先要安装一系列的工具,下表列出了常用的大数据群集工具以及如何安装它们: 工具 Required Description 安 ...
- SQL Server 大数据搬迁之文件组备份还原实战
SQL Server 大数据搬迁之文件组备份还原实战 原文:SQL Server 大数据搬迁之文件组备份还原实战 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景( ...
- SQL server模拟数据实现稍复杂查询语句
目录 1 DISTINCT(不允许重复)的用法 2 BETWEEN(在某个范围内)的用法 3 IN(属于若干个孤立的值)的用法 4 NULL(空值)的用法 5 ORDER BY(排序)的用法 6 模糊 ...
- SQL Server大数据表的分区存储
为什么80%的码农都做不了架构师?>>> 1. 建立分区存储的文件组(filegroup)和文件(file) ALTER DATABASE Student ADD FILEGR ...
- SQL Server 大数据量插入和索引关系
如果表含有聚集索引,并对要插入的数据进行排序以匹配聚集索引键,则将把数据大容量复制到已经存在聚集索引的表中,并指定 ORDER 提示. 这比先将数据复制到表中再创建聚集索引明显要快. 如果表上还存在非 ...
- SQL server 模拟数据进行select基本查询
目录 1 命名规范 2 模拟生成数据 1 新建数据表 2 在数据表中,模拟生成80条数据 2 select查询 count函数 sum函数 avg函数 max函数 min函数 Select+case- ...
最新文章
- C语言——常见的字符串函数+内存操作函数的介绍及实现
- 关于微信支付的退款那些事
- c语言socket发送excel,socket文件传输功能的实现
- boost::hana::make_set用法的测试程序
- java gif_使用Java来处理GIF图片
- python标准库(一)
- 【Spring】Spring lazy-init:bean延迟初始化
- NYOJ-+-字符串(贪心)
- FlexSPI driver用法
- 符号级别(二)--实际应用
- Stimulsoft Reports报告工具,Stimulsoft创建和构建报告
- oracle是java代码块,Oracle中施行java代码
- 3原色对照表.....
- ultraedit编译java_在UltraEdit中编译和运行Java程序
- Eclipse下Tomcat项目自动部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)
- html5播放器 经常卡,Win7系统看视频经常一卡一卡六种原因和解决方法
- 内网穿透工具EW的简单使用(附内网环境实现)
- 【相机标定基于消失点的外参标定】
- Android 锁屏软件MemoryDebris测试报告
- rust druid概念