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)
  • 创建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环境

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cOhcErxh-1691130443341)(1555730758534.png)]

在这里插入图片描述
在这里插入图片描述

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
  • 三类算子

    • transformation
      • 返回rdd
      • 延迟执行 只要没调用action类算子 就不会执行 只是几下了执行计划
    • action
      • 获取结果
  • 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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

W5100S-EVB-PICO做DNS Client进行域名解析(四)

前言 在上一章节中我们用W5100S-EVB-PICO通过dhcp获取ip地址&#xff08;网关&#xff0c;子网掩码&#xff0c;dns服务器&#xff09;等信息&#xff0c;给我们的开发板配置网络信息&#xff0c;成功的接入网络中&#xff0c;那么本章将教大家如何让我们的开发板进行DNS域名解…

kubernetes基于helm部署gitlab

kubernetes基于helm部署gitlab 这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab。 先决条件 已运行的 Kubernetes 集群负载均衡器&#xff0c;为ingress-nginx控制器提供EXTERNAL-IP&#xff0c;本示例使用metallb默认存储类&#xff0c;为gitlab pods提供持久化存储&…

深度学习Redis(2):持久化

前言 在上一篇文章中&#xff0c;介绍Redis的内存模型&#xff0c;从这篇文章开始&#xff0c;将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明上述几种技术分别解决了Redis高可用的什么问题&#xff1b;然后详细介绍Redis的持…

HTML 基础标签

前言 当今互联网时代&#xff0c;网页是我们获取信息、交流和展示自己的重要渠道之一。而HTML&#xff08;超文本标记语言&#xff09;作为构建网页的基础&#xff0c;学习掌握HTML标签成为了必不可少的技能。 标题标签 <h1>~<h6>&#xff1a;这是用来定义标题的…

Whole Tomato Visual Assist X Crack

Whole Tomato Visual Assist X Crack Visual Assist X通过Visual Studio中的关键新功能和对现有功能的改进&#xff0c;大大缩短了应用程序开发时间&#xff0c;使您能够&#xff1a;Visual Assist提高了自动化程度&#xff0c;简化了导航&#xff0c;并在开发过程中显示重要信…

基于双端口RAM的乒乓操作测试

文章目录 前言一、乒乓操作简介二、双端口RAM配置三、RAM控制模块设计四、乒乓操作验证 前言 本文将介绍基于双端口RAM的乒乓操作测试&#xff0c;并探索如何在AWC_C4MB开发板上实现这一测试。双端口RAM作为一种性能出色且功能强大的存储器设计&#xff0c;为我们提供了并发访问…

如何与 Boot Barn 建立 EDI 连接?

Boot Barn 专注于提供各种高品质的靴子、鞋类和西部服饰。其经营范围广泛&#xff0c;为广大顾客提供最新潮流和经典款式的选择。 Boot Barn 的使命是成为顾客在西部风格时尚领域的首选购物地点。多年来&#xff0c;Boot Barn 凭借卓越的服务和优质的产品赢得了众多客户的信赖和…

OpenSource - 一站式API服务

文章目录 概述功能模块运行启动Docker启动功能预览首页接口开发接口属性请求参数在线预览应用创建接口列表数据库类型限流熔断接口申请申请审批 概述 Crabc是低代码开发平台&#xff0c;企业级API发布管理系统&#xff0c;采用SpringBoot、JWT、Mybatis等框架和SPI插件机制实现…

网络安全进阶学习第十一课——MySQL手工注入(2)

文章目录 一、UA注入1、原理2、靶场演示&#xff1a;1&#xff09;一旦页面出现如下现状&#xff0c;就可以使用UA注入2&#xff09;BP抓包3&#xff09;修改User-Agent 二、referer注入1、原理2、靶场演示&#xff1a;1&#xff09;使用BP抓包2&#xff09;修改Referer 三、DN…

ImagXpress .NET Standard Crack

ImagXpress .NET Standard Crack ImagXpress SDK可让您快速将图像功能添加到Windows应用程序中。您可以快速开发需要复杂成像任务的应用程序&#xff0c;用于文档成像、照片处理或医疗应用程序&#xff0c;同时专注于您的程序的独特需求。ImagXpress是开发涉及图像的专业应用程…

解决word打字卡顿问题的方法

❤ 2023.8.5 ❤ 最近整理论文&#xff0c;本来我是wps死忠粉&#xff0c;奈何wps不支持latex公式。。。 无奈用起了word&#xff0c;但是谁想字数稍微多了一点&#xff0c;word就卡得欲仙欲死&#xff0c;打个字过去2s才显示出来&#xff0c;删除的时候都不知道自己删了几个字…

物理量时空属性内禀律

一、物理量时空属性内禀律&#xff1a; 1、物理量具有内在的时空属性&#xff0c;对所有表达式具有时空强制性。 2、物理量时空属性的计算等级较表达式低1个数学等级。 二、物理量时空属性的表示&#xff1a; 空间直线L的时空属性表示为&#xff1a; d(L)(1s,0t) &#xff…