#Data Talk# 数据派生观点,实操畅谈体验

--- Azure Databricks 使用案例及实验手册 ---

开篇导语:如大家所知,Azure Databricks 在2020年10月1日这个重要的日子在中国大陆地区发布公开预览版。时隔两个月,2020年12月12日Azure Databricks正式版成功在由世纪互联运营的Microsoft Azure上线。中国大陆地区用户可以访问由世纪互联运营的Microsoft Azure体验Azure Databricks ,一个基于Apache Spark ™的简便快捷的协作式分析服务。

         自从Azure Databricks公开预览版发布,ADB粉丝们就激动不已,迫不及待的想要上手体验Azure Databricks,更有热衷分享的技术牛人开始纷纷在各大技术论坛、博客、社区团体中分享Azure Databricks用户感受。今天我们就来跟大家分享一篇ADB粉丝的投稿~ 文章内容通俗易懂,并配有步骤截图介绍,可以帮助Azure Databricks新手用户更好的上手使用Azure Databricks。

投稿作者:Hanson,大数据开发工程师,来自上海衍梓智能科技公司

本篇文章演示内容如下:

1. 创建Databricks与Spark集群

2. 了解Databricks文件系统(DBFS)

3. 读取DBFS文件转换Spark SQL

4. 创建Azure SQL 服务,并使用Databricks数据输出至Azure SQL

5. 使用Azure Data Studio查询Azure SQL

在正式开始前,让我们先说说什么是AzureDatabricks?

        Azure Databricks 是一个已针对 Microsoft Azure 云服务平台进行优化的数据分析平台。 Azure Databricks 提供了两种用于开发数据密集型应用程序的环境:Azure Databricks SQL Analytics 和 Azure Databricks 工作区。

         Azure Databricks SQL Analytics为想要针对数据湖运行 SQL 查询、创建多种可视化类型以从不同角度探索查询结果,以及生成和共享仪表板的分析员提供了一个易于使用的平台。

         Azure Databricks工作区提供了一个交互工作区,支持数据工程师、数据科学家和机器学习工程师之间的协作。 使用大数据管道时,原始或结构化的数据将通过 Azure 数据工厂以批的形式引入 Azure,或者通过 Apache Kafka、事件中心或 IoT 中心进行准实时的流式传输。 此数据将驻留在 Data Lake(长久存储)、Azure Blob 存储或 Azure Data Lake Storage 中。 在分析工作流中,使用 Azure Databricks 从多个数据源读取数据,并使用 Spark 将数据转换为突破性见解。

如果您想了解更多Azure Databricks SQL Analytics 和 Azure Databricks 工作区?您可以访问下方链接了解更详细的信息,我在这里不多做介绍了。https://docs.microsoft.com/zh-cn/azure/databricks/scenarios/what-is-azure-databricks

那么我们来看看如何上手使用Azure Databricks吧


前期说明

         当然是要进入Azure控制台啦,链接在这里 https://portal.azure.com/ 您还需要一个账号(如果已有账号就很方便啦,直接登陆即可;如果没有账号,不妨试试申请一个免费的https://www.microsoft.com/china/azure/index.html?fromtype=cn#azurefreeform )

         进入Azure控制台后,您可以点击Create a resource/创建资源,然后在搜索栏中查找Azure Databricks。

这里关于创建时需要的订阅、资源组、工作区名称、区域、定价层这些信息,您是要必填的。如果之前没有资源组,可以创建一个新的,直接操作,很方便的。创建好之后,就可以直接创建Azure Databricks服务啦。

关于一些您希望了解的信息,我也放在这里,供参考

Azure Databricks定价 https://azure.microsoft.com/zh-cn/pricing/details/databricks/

配置集群官方说明 https://docs.microsoft.com/zh-cn/azure/databricks/clusters/configure#cluster-configurations


万事俱备,开始创建


创建成功

接下来开始创建spark集群。

点击LaunchWorkspace

创建集群,可以参考官网配置集群链接 

https://docs.microsoft.com/zh-cn/azure/databricks/clusters/configure#cluster-configurations

创建成功后返回主页面,创建笔记本

Databricks文件系统(DBFS)

官网链接 https://docs.microsoft.com/zh-cn/azure/databricks/data/databricks-file-system#user-interface

可以在此次上传文件到DBFS

上传完成后会给我们返回一个读数据的code

可以直接获取到数据

加入.option("header", "true")可以得到列名

当然也可以使用SQL

比如要查看有多少条“北京”

import org.apache.spark.sql.types._

val schema = new StructType()
 .add("ts_code",StringType,true)
 .add("symbol",IntegerType,true)
 .add("name",StringType,true)
 .add("area",StringType,true)
 .add("industry",StringType,true)
 .add("market",StringType,true)
 .add("list_date",StringType,true)

val df =spark.read.format("csv")
 .option("header", "true")
 .schema(schema)
 .load("dbfs:/FileStore/shared_uploads/email/stock_basic.csv")

df.createOrReplaceTempView("stock_basic")

 spark.sql("select count(1) from stock_basic where area='北京'").show()


接下来创建AzureSQL来进行写操作

此处选择单独的服务器

如果没有server,需要创建一个


根据自己情况来定,最小化安装

在将转换后的数据加载到Azure SQL数据库之前,让我们快速浏览一下Azure门户上的数据库。 为此,请转到门户并选择SQL数据库,然后单击查询编辑器(预览) 

下面的屏幕截图显示了该数据库中当前没有表,也没有数据。


使用Scala将处理后的数据加载到AzureSQL数据库中(Loadingthe processed data into Azure SQL Database using Scala)

需要打开数据库访问的ip

打开之后再提交我们的代码

%scala
//读取数据

val df1 =spark.read.format("csv")
 .option("header", "true")
 .load("dbfs:/FileStore/shared_uploads/*****@***.**/stock_basic.csv")

//打印数据
df1.show()

//将创建一个Properties()来链接参数
import java.util.Properties


val myproperties = new Properties()
myproperties.put("user","admin1")
myproperties.put("password","1")

//以下代码有助于检查与SQL Server数据库的连接。
val driverClass ="com.microsoft.sqlserver.jdbc.SQLServerDriver"
myproperties.setProperty("Driver",driverClass)

//指定URL
val url = "jdbc:sqlserver://firstdb1.database.windows.net:1433;database=firstdb;user=admin1;password=1"

//写入数据
df1.write.jdbc(url,"stock_basic",myproperties)


再登录查看

查看数据


使用azuredata studio查看数据

查看到了数据


演示完要记得关闭azure 的服务

等待完成返回查看

接着停止Azure SQL

然后删除我们的资源组

你可能感兴趣的:(#Data Talk# 数据派生观点,实操畅谈体验)