【Azure 架构师学习笔记】- Azure Databricks (3) - 再次认识DataBricks

本文属于【Azure 架构师学习笔记】系列。
本文属于【Azure Databricks】系列。
接上文 【Azure 架构师学习笔记】- Azure Databricks (2) -集群

前言

在对Databricks有了初步了解之后,如果要深入使用则需要对其进行更深层次的了解。

Databricks

ADB 是一个统一的数据和分析平台。它的主要用户是数据工程师,数据科学家和数据分析师。它是一个托管平台,可以让用户更加专注于数据的使用,而不用操心集群,库,依赖项,升级等与数据不相关的工作。

ADB 在这里特指Azure上的Databricks。它是托管在Azure上的Databricks,可以跟其他Azure 服务一样通过portal创建。意味着它已经原生化地集成到Azure,包括AAD, 其他数据工具等。要注意Databricks是一家公司的产品,Azure更多像是二房东。

Databricks的愿景是Lakehouse, 集中管理数据,使其成为"single source of truth"。 在过去, 数据仓库是主流,然而不适合时代的发展,比如数据架构的预设,很难应对非结构化数据的处理和分析。后来出现的data lakes如Hadoop, 虽然解决或缓解了一部分的问题,但是对于性能和可靠性,又成了一个新的问题。Lakehouse的出现就是为了整合这两类数据平台的优缺点。

Databricks其中一个核心特点是所有底层技术都是开源得,如Spark, Delta, ML Flow等。Databricks 把这些技术集成到一个统一平台并改进以便于企业开箱即用。

Databricks架构

Databricks作为一个统一得平台,不过在大型企业中,它不可能成为唯一的工具去实现所有的工作。所以需要其他工具进行协助,比如在Azure, ADB 用于ETL 和机器学习, Synapse用于进行BI的常规工作。另外也可以通过Power BI触发ADB在Storage Account上进行查询。

在这里插入图片描述

Spark

前面提到很多Spark,这是一个开源的,分布式的,基于内存的处理引擎。由于其速度比传统的Hadoop 工具快得多,它越来越受到大数据,机器学习工具的青睐。
在Databricks中,Spark是执行负载和查询的核心引擎,并且Databricks也是创建在原生的Spark之上。

Delta

Delta是一种特定的开源文件格式,用来解决传统数据湖文件格式的限制。在底层上Delta是由Parquet这种针对大数据优化的列存储结构,并添加了元数据和事务日志。它跟Parquet和ORC 的主要区别在于:

  • ACID 事务
  • 可以进行upserts操作。
  • 可以进行索引化。
  • 结合了流式和批处理特性,但是不需要使用复杂的Lambda架构。

SQL Analytics

Databricks提供了一个区域供用户进行基于Data Lake的SQL 的编写,即时输出简单的图形,还有基于SQL 的警告。

何时使用Databricks

  • 当你的数据湖出现了性能问题,或者变得“混浊”时, 可以使用Delta对数据湖进行现代化改造。
  • 机器学习:Databricks的其中一个强项就是机器学习。
  • 大数据集成:从成本和性能来说,大数据的ETL 过程是Databricks的其中一个优势。

不适合用Databricks

  • 即时查询:Spark是一个分布式引擎,其架构不适合进行即时查询的操作。
  • 少量数据:对于GB或以下级别的数据,Databricks并不能发挥优势,反而成本很大。
  • 低代码开发:相比于ADF 这类ETL 工具,ADB 主要使用代码进行操作,如果需要低代码的拖拉拽方式,那Databricks并不适合。

ADB 架构

跟绝大部分Azure资源类似,ADB 也分为Control Plane和Compute Plane(其他资源称为Data Plane)。

Control Plane控制着底层资源和服务,如Notebook, ADB 账号, workspace配置,存储加密等。
Compute plane是用于处理数据。
ADB 由于并不是微软自己开发的产品,微软对其只能进行集成和优化,比如ADB 需要data lake进行存储,需要特定网络访问集群等,这些都需要进行额外的配置,如托管VNet。

下面是来自微软的架构图:
在这里插入图片描述

下图则从其他网站上复制,更加简化,适合入门者理解。配上了以下的简单描述:

  • Delta Lake:存储层,帮助Data Lake更加可靠。它集成了流式计算和批处理,并且带有ACID 特性。完全兼容Apache Spark并可以运行在你现有的数据湖上。
  • Delta Engine:对Delta Lake进行了优化处理的查询引擎。
  • 其他内置工具使其能成为统一的数据处理平台。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/242803.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

jdk+zookeeper+kafka 搭建kafka集群

环境资源包: jdk-8u341-linux-x64.tar.gz kafka_2.12-2.2.0.tgz zookeeper-3.4.14.tar.gz 一、安装jdk 因为kafka需要Java环境,所以优先配置jdk环境,若已经配置了java环境,此步骤可以忽略 [rootVM-120-2-centos ~]# tar -xvf j…

在Node.js中使用MongoDB连接数据库、创建集合

本文主要介绍在Node.js中使用MongoDB连接数据库、创建集合的方法。 目录 连接数据库使用原生驱动程序连接MongoDB数据库使用Mongoose连接MongoDB数据库 创建集合使用mongodb驱动程序 连接数据库 在Node.js中使用MongoDB连接数据库有两种方式:使用原生驱动程序和使用…

Redis持久化AOF详解

基础面试题 什么是AOF AOF(Append-Only File)用于将Redis服务器收到的写操作追加到日志文件,通过该机制可以保证服务器重启后依然可以依靠日志文件恢复数据。 它的工作过程大抵分为以下几步: 收到客户端的写入命令(例如SET、DE…

Hadoop学习总结(Hive的安装)

Hive的安装模式分为3种,分别是嵌入模式、本地模式、远程模式。 (1)嵌入模式:使用内嵌的 Derby 数据库存储元数据,这种方式是 Hive 的默认安装方式,配置简单,但是一次只能连接一个客户端&#xf…

2023.12.14 hive sql的聚合增强函数 grouping set

目录 1.建库建表 2.需求 3.使用union all来完成需求 4.聚合函数增强 grouping set 5.聚合增强函数cube ,rollup 6.rollup翻滚 7.聚合函数增强 -- grouping判断 1.建库建表 -- 建库 create database if not exists test; use test; -- 建表 create table test.t_cookie(month …

目标检测检测精度

在一个数据集检测中,会产生四类检测结果:TP、TN 、FP 、FN: T ——true 表示正确 F——false 表示错误 P—— positive 表示积极的,看成正例 N——negative 表示消极的,看成负例 我的理解:后面为预测结…

智能优化算法应用:基于象群算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于象群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于象群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.象群算法4.实验参数设定5.算法结果6.参考文献7.MA…

C_10练习题答案

一、单项选择题(本大题共 20小题,每小题 2分,共 40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 1,结构化程序由三种基本结构组成,三种基本结构组成的算法是(A) A.可以完成任何复杂的任务 B.只能完成部分复杂的任务…

【数据结构和算法】压缩字符串

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:双指针 三、代码 3.1 方法一:双指针 四、复杂度分析 前言 这是力扣…

计网Lesson9 - 链路协议和网络概述

文章目录 数据链路层协议Ethernet V2标准Ethernet V2帧格式Ethernet V2帧长度标准以太网帧 MAC 帧协议 PPP 协议PPP 概述PPP 帧 网络层网络层的设计选择 数据链路层协议 Ethernet V2标准 Ethernet V2帧格式 以太网帧格式说明: 6 6 6 字节目标地址 6 6 6 字节源地…

docker核心原理——unionfs、namespace、cgroup

docker 核心原理 docker的核心原理其实就是cgroupnamespaceunionfs 组合实现的隔离机制,资源控制等。 隔离机制 在容器进程启动之前重新挂载它的整个根⽬录“/”,⽤来为容器提供隔离后的执⾏环境⽂件系统通过Linux Namespace 创建隔离,决…

论文阅读:MonetDB/X100: Hyper-Pipelining Query Execution

目录 Abstract 1 Introduction 1.1 Outline 2 How CPU Work Abstract 在决策支持、OLAP和多媒体检索等计算密集型应用领域,数据库系统往往只能在现代cpu上实现较低的IPC(每周期指令)效率。本文首先以TPC-H基准为重点,深入研究了这种情况发生的原因。…

Debian 系统镜像下载

最近在看一些网络相关的文章需要用到 debian 11.x 的系统网上找了好多都发下载,在官网看一下 有个 11.8 的版本我无法下载,提示被最新的 debian-12.4.0 所代替,于是找到了这个链接 Index of /cdimage/unofficial/non-free/cd-including-fi…

计算机毕业设计 基于Web的城市旅游网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

【已解决】ModuleNotFoundError: No module named ‘tensorflow‘

问题描述 Traceback (most recent call last): File "dataset_tool.py", line 16, in <module> import tensorflow as tf ModuleNotFoundError: No module named tensorflow 如果直接pip install tensorflow&#xff0c;还会报错 解决办法 方法一 pip i…

MSF学习

之前的渗透测试中 其实很少用到 cs msf 但是在实际内网的时候 可以发现 msf cs 都是很好用的 所以现在我来学习一下 msf的使用方法 kali自带msf https://www.cnblogs.com/bmjoker/p/10051014.html 使用 msfconsole 启动即可 首先就是最正常的木马生成 所以这里其实只需…

hive聚合函数之JOIN原理及案例

1.数据准备 原始数据 创建dept.txt文件&#xff0c;并赋值如下内容&#xff0c;上传HDFS。 部门编号 部门名称 部门位置id 10 行政部 1700 20 财务部 1800 30 教学部 1900 40 销售部 1700创建emp.txt文件&#xff0c;并赋值如下内容&#xff0c;上传HDFS。 员工编号 姓名 岗…

es6学习(一):变量声明的方式对比:var,let,const

前言 在let和const出现之前,js可以使用var为变量命令,如果是函数也可以用function命名,甚至你可以直接不用任何关键字命名 var a 1function fn() { }b 2console.log(a)console.log(fn)console.log(b) 结果如下 var的特性 1.window环境下,var在最外层定义的变量会直接赋值给…

jmeter配置使用(mac)

前言 这篇文件就是一个笔记&#xff0c;非mac用户不用看了&#xff0c;我这是换了mac&#xff0c;要用jmeter的倒腾。 一、下载 二、使用步骤 1.解压 tgz格式的直接用tar命令就行 tar -zxvf 包名2.启动 一种是进入解压包的bin目录启动 这种方式启动的就是命令框不能关闭&am…

解决GateWay报错:Exceeded limit on max bytes to buffer : 262144

场景&#xff1a; 前端传来了一个大的字符串 发现请求不通 一番调试发现SpringGateway 默认内存缓冲区262144字节 网上查了很多种常见的解决方案无效之后 直接重写底层 网友的解决方案 方案1&#xff08;无效&#xff09; 直接修改缓冲区大小 spring:codec:max-in-memory-s…