Spark、RDD、Hive 、Hadoop-Hive 和传统关系型数据库区别
-
Hive Hadoop
-
Hive 和传统关系型数据库区别
Spark 概念
-
基于内存的分布式计算框架
-
只负责算 不负责存
-
spark 在离线计算 功能上 类似于mapreduce的作用
-
MapReduce的缺点
- 运行速度慢 (没有充分利用内存)
- 接口比较简单,仅支持Map Reduce
- 功能比较单一 只能做离线计算
-
Spark优势
- 运行速度快
- 自身生态比较完整
- spark sql
- spark streaming
- spark mllib Spark ML
- api 比较丰富
- 使用各种语言进行操作
RDD 的概念
-
弹性分布式数据集
-
spark当中对数据的抽象
-
所有spark中对数据的操作最终都会转换成RDD的操作
- spark sql
- spark streaming
- spark ml 、spark mllib
-
RDD 分布式的 可容错 可以进行并行计算
-
rdd 的存储可以对比HDFS
- hdfs 数据拆分成多个block rdd 拆分成多个partition
- 读取的时候 spark 加载hdfs数据 1个block 对应 spark rdd的一个partition
- 写数据的时候 spark 1个partition 可能对应多个block
-
RDD是不可变的
- 父RDD 生成一个子 RDD 父RDD的状态不会变化
- 从容错的角度去做这样的设计
RDD的创建
-
创建RDD之前先要有spark context
conf = SparkConf().setAppName(appName).setMaster(master) sc = SparkContext(conf=conf)
-
通过内存中的数据创建RDD
- data = [1, 2, 3, 4, 5]
distData = sc.parallelize(data)
- data = [1, 2, 3, 4, 5]
-
创建RDD时可以指定 partition的数量(RDD会分成几份)一个partition会对应一个task,根据CPU的内核数来指定partition (1核对应2~4个partition)
-
从文件创建RDD 可以是HDFS支持的任何一种存储介质
- 可以从 hdfs 数据库(mysql) 本地文件系统 hbase 这些地方加载数据创建RDD
- rdd = sc.textFile(‘file:///root/tmp/test.txt’)
RDD的三类算子
- transformation
- 所有的transformation 都是延迟执行的,只要不调用action 不会执行,只是记录过程
- transformation 这一类算子返回值还是 rdd
- rdd.transformation 还会得到新的rdd
- action
- 会触发之前的rdd所有的transformation
- 获取最终的结果
- persist
- 数据存储,可以存到内存,也可以是磁盘
通过pycharm 链接centos环境
ip地址统计案例
-
广播变量
-
如果多个task会用到同一份数据,默认每个task都会复制一份
-
用到的数据如果只是查询可以通过广播变量保存,避免数据的反复复制
-
SparkContext可以创建广播变量
广播变量= sc.broadcast(值) 广播变量。value
-
-
mapPartitions
- transformation操作
- 类似map 但是map是一条一条传给里面函数的 mapPartitions 数据是一部分一部分传给函数的
- 应用场景 数据处理的时候 需要连接其它资源 如果一条一条处理 会处理一条连一次, 一份一份处理可以很多条数据连一次其它资源 可以提高效率
-
二分法查找
-
ip_transform 把223.243.0.0 转换成10进制的数字
spark standalone模式
-
Master
- 主节点
- 负责Worker状态管理
- 响应client 提交来的Application
-
Worker
- 管理自身资源
- 运行Application对应的task
- 启动图driver 执行application
-
Executor
- task 最终执行的容器
-
Application
- spark作业
-
Driver
- 作业提交给spark的时候 先由一个Worker启动一个Driver来分析Application
- DAGScheduler
- task划分 交给TaskScheduler
- 作业可以划分为多个stage
- 每一个stage根据partition的数量决定由多少个task
- TaskScheduler
- 将task调度到对应的Executor上执行
-
Client
spark core总结
-
spark core是 spark生态最核心的部分
-
spark 生态
- spark core mapreduce
- spark sql 类似于hive
- spark streaming storm、flink
- spark ML 基于dataframe sparkmllib rdd
-
spark
- 基于内存的 分布式计算框架
-
MapReduce 和 spark 优劣
- spark 基于内存 算快
- spark api 更丰富 比mapreduce 代码少
- spark 生态完整
- 离线计算 spark core spark sql
- 实时计算/流式计算 spark streaming 准实时
- 交互式计算 spark sql dataframe
- 机器学习 spark ML
-
RDD
- 弹性分布式数据集
- 不可变 rdd->rdd2 rdd和rdd2的状态会分别保存
- 弹性 存储弹性 分布式弹性 容错可以分多个partition存 每个partition有多个副本
- 分布式
- 并行计算
-
RDD创建
- spark context
- 在内存中 list iterable
- 从文件中加载
- 在创建rdd的时候可以指定partitons的数量 一个partition对应一个task
- spark context
-
三类算子
- transformation
- 返回rdd
- 延迟执行 只要没调用action类算子 就不会执行 只是几下了执行计划
- action
- 获取结果
- transformation
-
spark local模式 standalone
-
广播变量
Hbase 回顾
- 面向列 列式存储
- 每一列数据是放到同一个文件中的, 列与列之间存储的位置并不连续
- 数据是一行一行存的,每一行都是连续的
- 非关系型数据 NoSQL
- 关系型数据 非关系数据
- 事务
- 行级别事务 不是事务型数据库
- CAP定理 CP系统
- 行键(RowKey) 只有rowkey有索引
- 列族(ColumnFamily) k:v数据库 查询性能类似的 k:v 放到同一个ColumnFamily中
- 列修饰符(Column Qualifier) 在ColumnFamily下的 key:value对的key ColumnFamily:Column Qualifier:value
HBase表设计需要注意的问题
- HBase的特点
- 行级别事务, 如果对跨行事务,跨表事务有很高要求不适合用hbase
- rowkey有索引
- ColumnFamily 不宜过多
- Column Qualifier可以用来存储信息
- Rowkey是HBase表结构设计中很重要的环节, 直接影响到HBase的效率和性能
- HBase的表结构比传统关系型数据库更灵活, 能存储任何二进制数据,无需考虑数据类型
- 利用列标识(Column Qualifier)来存储数据
- 衡量设计好坏的简单标准 是否会全表查询
HBase shell操作
Happybase 操作hbase
Hbase 需要调整的地方
①删除hadoop 上 /hbase目录
②修改 /root/bigdata/hbase/conf/regionservers
只保留hadoop_master
③修改hbase-site.xml
<configuration><property><name>hbase.rootdir</name><value>hdfs://hadoop-master:9000/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.property.clientPort</name><value>只保留之前的第一个值</value></property><property><name>hbase.zookeeper.property.dataDir</name><value>保留之前的内容</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property>
</configuration>
④start-hbase.sh 启动hbase
相关文章:

Spark、RDD、Hive 、Hadoop-Hive 和传统关系型数据库区别
Hive Hadoop Hive 和传统关系型数据库区别 Spark 概念 基于内存的分布式计算框架 只负责算 不负责存 spark 在离线计算 功能上 类似于mapreduce的作用 MapReduce的缺点 运行速度慢 (没有充分利用内存)接口比较简单,仅支持Map Reduce功能…...
[运维]python 启用http 文件服务
要在Python中启用HTTP文件服务,您可以使用内置的http.server模块(在Python 3中)或SimpleHTTPServer模块(在Python 2中)。 在Python 3中: python -m http.server在Python 2中: python -m Simp…...
electron-builder 打包 exe 异常错误集锦
项目技术 vue-electron vue-router vuex vuex-electron element-ui echarts mysql 打包异常 Error: Unresolved node modules: vue Error: Unresolved node modules: vue at D:\Code\Demo\Vue\Voice\App\node_modules\_app-builder-lib20.44.4app-builder-lib\src\…...

14-5_Qt 5.9 C++开发指南_基于HTTP 协议的网络应用程序
文章目录 1. 实现高层网络操作的类2. 基于HTTP协议的网络文件下载3.源码3.1 可是化UI设计3.2 mainwindow.h3.3 mainwindow.cpp 1. 实现高层网络操作的类 Qt 网络模块提供一些类实现 OSI 7 层网络模型中高层的网络协议,如 HTTP、FTP、SNMP等,这些类主要是…...
Kotlin委托
委托 委托 代理 方法内的成员永远拿不到thisRef:官方委托和自定义委托-》方法里面没办法使用反射 委托只能类委托和属性委托 Kotlin委托 本文链接:https://blog.csdn.net/feather_wch/article/details/132095759 类委托 1、类委托 委托的是接口的方…...

分布式协议与算法——CAP理论、ACID理论、BASE理论
CAP理论 CAP理论,对分布式系统的特性做了高度抽象,比如抽象成了一致性、可用性和分区容错性,并对特性间的冲突(也就是CAP不可能三角)做了总结。 CAP三指标 CAP理论对分布式系统的特性做了高度抽象,形成了…...

接口测试 Jmeter 接口测试 —— 请求 Headers 与传参方式
一、 背景: 在使用 Jmeter 进行接口测试时,有些小伙伴不知道 Headers 和请求参数 (Parameters,Body Data) 的联系,本文主要讲 Content-Type 为 application/x-www-form-urlencoded 和 application/json 的场景。 1、使用 Parame…...

【redis】redis部署1主2从3哨兵demo搭建示例
redis版本为7,搭建的架构为1主2从3哨兵的架构。本文是对搭建的过程做一个回忆,过程可能遗漏了某些步骤,见谅。 首先,需要有一个已经安装了的redis。我们从redis源码目录中,找到一个redis.conf文件,这个文件…...

C++数据结构之平衡二叉搜索树(一)——AVL的实现(zig-zag/左右双旋/3+4重构)
目录 00.BBST——平衡二叉搜索树01.AVL树02.AVL的插入2.1单旋——zig 与 zag2.2插入节点后的单旋实例2.3手玩小样例2.4双旋实例2.5小结 03.AVL的删除3.1单旋删除3.2双旋删除3.3小结 04.34重构05.综合评价AVL5.1优点5.2缺点 00.BBST——平衡二叉搜索树 本文是介绍众多平衡二叉搜…...

免疫疗法勘察兵——DC细胞
DC细胞又叫树状细胞或者树突细胞,1869年由保罗兰格尔翰斯发现,一开始被误以为是神经细胞的一种,直到1973年皮肤科医师Inga Silberberg发现了他的免疫功能,同年,被拉尔夫斯坦曼和赞威尔A科恩两人正式命名为“dendritic…...

Django实现音乐网站 ⑷
使用Python Django框架制作一个音乐网站,在系列文章3的基础上继续开发, 本篇主要是后台歌曲类型表、歌单表模块功能开发。 目录 表结构设计 歌曲类型表结构 歌单表结构 创建表模型 创建表 后台注册表模型 引入表模型 后台自定义 总结 表结构设计…...

2023年华数杯数学建模C题思路 - 母亲身心健康对婴儿成长的影响
# 1 赛题 C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情…...

openGauss学习笔记-30 openGauss 高级数据管理-别名
文章目录 openGauss学习笔记-30 openGauss 高级数据管理-别名30.1 语法格式30.1.1 列别名语法30.1.2 表别名语法 30.2 参数说明30.3 示例 openGauss学习笔记-30 openGauss 高级数据管理-别名 SQL可以重命名一张表或者一个字段的名称,这个名称为该表或该字段的别名。…...
C#实现多线程局域网扫描器的思路与具体代码
C#实现多线程局域网扫描器的思路与具体代码 思路: 获取局域网内所有 IP 地址遍历所有 IP 地址,使用 Ping 命令测试主机是否在线如果主机在线,则扫描主机上的所有端口,确定哪些端口是开放的输出扫描结果 在上述过程中࿰…...

Redis秒杀:一人一单问题及初步解决
优惠券秒杀一人一单 前言一、需求以及之前存在的问题二、增加一人一单逻辑1.初步代码2.封装一人一单逻辑3.控制锁的粒度 三、事务控制问题四、总结 前言 跟随黑马虎哥学习redis: 这是我认为b站上最好的redis教程,各方面讲解透彻,知识点覆盖…...

python 数据分析面试题:求分组排第n名的记录数据
近期面试遇到一个面试题,分享给大家。 文中会提供详细的解题思路以及问题延伸 一、面试题 面试题:输出各学科总分第一名的学员姓名、年龄、分数数据: class_a {name: [学员1, 学员2, 学员3, 学员4,学员5],age: [23, 24, 26, 27,25],course…...
eclipse常用快捷键
Eclipse常用快捷键 补全代码的声明:alt /快速修复: ctrl 1批量导包:ctrl shift o使用单行注释:ctrl /使用多行注释: ctrl shift /取消多行注释:ctrl shift \复制指定行的代码:ctrl alt down 或…...

什么是OCR?OCR技术详解
光学字符识别(Optical Character Recognition)简称为“OCR”。ORC是指对包含文本资料的图像文件进行分析识别处理,获取文字及版面信息的技术。 一般包括以下几个过程: 1.图像输入 针对不同格式的图像,有着不同的存储格式和压缩方式。目前&…...

【大模型】开源且可商用的大模型通义千问-7B(Qwen-7B)来了
【大模型】开源且可商用的大模型通义千问-7B(Qwen-7B)来了 新闻通义千问 - 7B 介绍评测表现快速使用环境要求安装相关的依赖库推荐安装flash-attention来提高你的运行效率以及降低显存占用使用 Transformers 运行模型使用 ModelScope 运行模型 量化长文本…...

SQL分类及通用语法数据类型
一、SQL分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用来创建数据库…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...