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查询相关推荐

  1. SQL Server 2019 新特性之 SQL Server大数据群集 介绍(一)

    SQL Server 2019 新特性之 SQL Server大数据群集 介绍(一) 从开始SQL Server 2019 预览,SQL Server 大数据群集允许你部署的 Kubernetes 上 ...

  2. 04.千淘万漉虽辛苦,吹尽黄沙始到金——SQL Server大数据群集初探

    04.千淘万漉虽辛苦,吹尽黄沙始到金--SQL Server大数据群集初探 [TOC] 上一篇终于创建好了群集,但是如何使用呢?首选需要理解SQL Server 2019 大数据群集的概念,从开始SQ ...

  3. 03.三月风雨愁断肠,学习大数据特别忧伤——谈谈AKS创建SQL Server大数据群集创建愁断肠

    03.三月风雨愁断肠,学习大数据特别忧伤--谈谈AKS创建SQL Server大数据群集创建愁断肠 [TOC] 前言 使用AKS创建SQL Server大数据群集有几种方法,由于产品不断的更新,SQL ...

  4. SQL Server 大数据群集 部署(二)工具篇

    SQL Server 大数据群集 部署(二)工具篇 在进行部署大数据群集之前,先要安装一系列的工具,下表列出了常用的大数据群集工具以及如何安装它们: 工具 Required Description 安 ...

  5. SQL Server 大数据搬迁之文件组备份还原实战

    SQL Server 大数据搬迁之文件组备份还原实战 原文:SQL Server 大数据搬迁之文件组备份还原实战 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景( ...

  6. SQL server模拟数据实现稍复杂查询语句

    目录 1 DISTINCT(不允许重复)的用法 2 BETWEEN(在某个范围内)的用法 3 IN(属于若干个孤立的值)的用法 4 NULL(空值)的用法 5 ORDER BY(排序)的用法 6 模糊 ...

  7. SQL Server大数据表的分区存储

    为什么80%的码农都做不了架构师?>>>    1. 建立分区存储的文件组(filegroup)和文件(file) ALTER DATABASE Student ADD FILEGR ...

  8. SQL Server 大数据量插入和索引关系

    如果表含有聚集索引,并对要插入的数据进行排序以匹配聚集索引键,则将把数据大容量复制到已经存在聚集索引的表中,并指定 ORDER 提示. 这比先将数据复制到表中再创建聚集索引明显要快. 如果表上还存在非 ...

  9. SQL server 模拟数据进行select基本查询

    目录 1 命名规范 2 模拟生成数据 1 新建数据表 2 在数据表中,模拟生成80条数据 2 select查询 count函数 sum函数 avg函数 max函数 min函数 Select+case- ...

最新文章

  1. C语言——常见的字符串函数+内存操作函数的介绍及实现
  2. 关于微信支付的退款那些事
  3. c语言socket发送excel,socket文件传输功能的实现
  4. boost::hana::make_set用法的测试程序
  5. java gif_使用Java来处理GIF图片
  6. python标准库(一)
  7. 【Spring】Spring lazy-init:bean延迟初始化
  8. NYOJ-+-字符串(贪心)
  9. FlexSPI driver用法
  10. 符号级别(二)--实际应用
  11. Stimulsoft Reports报告工具,Stimulsoft创建和构建报告
  12. oracle是java代码块,Oracle中施行java代码
  13. 3原色对照表.....
  14. ultraedit编译java_在UltraEdit中编译和运行Java程序
  15. Eclipse下Tomcat项目自动部署路径问题(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)
  16. html5播放器 经常卡,Win7系统看视频经常一卡一卡六种原因和解决方法
  17. 内网穿透工具EW的简单使用(附内网环境实现)
  18. 【相机标定基于消失点的外参标定】
  19. Android 锁屏软件MemoryDebris测试报告
  20. rust druid概念

热门文章

  1. 2018-2019-2 20175105王鑫浩 实验二《Java面向对象程序设计》实验报告
  2. 生活记录--考研日记(1)
  3. 【NOIP2016提高A组模拟10.15】打膈膜
  4. angularjs揭秘
  5. Linux 命令 - curl: transfer a URL
  6. Does Oracle Goldengate support Parallel DML?
  7. Java集合---面试题
  8. Python机器学习及实践+从零开始通往Kaggle竞赛之路
  9. PostgreSQL 增量备份详解以及相关示例
  10. Qt编写大数据大屏UI电子看板系统