大数据数仓理论1.3-离线

HiveSQL优化

  • order by是全局排序,建议加上limit一起使用,如海量数据减轻服务器压力,加快查询效率;
  • 数据聚合指标时,不建议使用 count(distinct  XX)建议使用Group by 防止内存溢出;
  • select语句查询时建议指定字段,不建议使用 * ,否则数据量大导致崩掉喜提加班;

DataX与Sqoop区别

  •  dataX是阿里集团开发的一款开源数据同步工具;sqoop是Apache软件基金会开发开源工具;
  • dataX适合各种数据库进行数据传递;sqoop比较兼容hadoop组件为其数据同步功能;
  • dataX采用了JSON格式配置文件来定义数据,定义规则;sqoop通过命令行工具进行配置,简单易上手;
  • dataX适合复杂的数据同步和应用场景;sqoop特别适合大数据处理场景下数据导入导出;

Spark为什么比MapReduce快

  • 内存和磁盘
  1. MR在map阶段会将中间结果写入磁盘中,再由reduce阶段从磁盘中对取数据,频繁的磁盘IO消耗大量时间;
  2. spark就不需要将中间结果写入磁盘中,利用了RDD原理,每个RDD都会负责好各自的中间结果;
  •  实时计算
  1. MR支持批处理作业
  2. spark Streaming支持流式数据处理;

Spark中RDD是什么

       背景

                RDD是Spark一种抽象的数据结构,表示了分布式数据集,例如集合;有多个分区组成,每个分区都分配了单独的task进行处理,支持并行计算能力;
 

       特性

不可变性RDD是不可变的数据结构,一旦创建无法修改,只能通过转换操作生产新的RDD;
弹性RDD具有容错性,操作过程中数据丢失,可以通化工血统充型计算来恢复数据;
分布式RDD可以在多个节点上并行处理,充分利用了集群的优势
可持久化RDD可以被持久化到内存和磁盘中,后续需要可直接调取;
类型化RDD可以是键值对也可以是数据集合,根据数据的不同选择不同类型的RDD

HiveSQL与SparkSQL区别

  • 底层计算框架
hiveSQL是基于hadoop中mapreduce框架实现的,通过hive将SQL转换为mapreduce进行数据处理
sparkSQL是基于spark内存来实现的,通过spark将SQL转换为RDD和DataFrame操作进行处理
  • 计算性能
sparkSQL在内存中计算能力强一些,查询速度快
hiveSQL执行原理按照mapreduce原理,将map阶段数据存放磁盘,由reduce来读取磁盘数据,延迟缓慢一些;
  • 数据模型
hiveSQL支持hive表和分区表,以及hive表的元数据存储和管理,适合数据仓库查询和处理
sparkSQL支持dataFrame和dataset,具有灵活的处理数据和分析功能

hive on spark和spark on hive区别

  • hive on spark

hiveSQL编写->底层转换为RDD->分析处理
  1. Hive on Spark指的是在Hive中使用Spark作为计算引擎,将Hive的SQL查询转换为Spark的RDD操作或DataFrame操作来进行数据处理。
  2. 在Hive on Spark中,Hive仍然充当元数据管理和查询优化的角色,而Spark负责实际的数据计算和处理。
  3. Hive on Spark通常用于提高Hive SQL查询的性能和效率,利用Spark的内存计算能力来加速数据处理过程。
  • spark on hive

hive中创数据库和表->sparkSQL编写->底层使用RDD进行处理
  1. Spark on Hive指的是在Spark中使用Hive作为数据仓库和元数据存储,通过Hive提供的数据表和元数据信息来进行数据查询和处理。
  2. 在Spark on Hive中,Spark作为计算引擎,可以直接读取Hive表的数据,并通过SparkSQL进行数据处理和分析。
  3. Spark on Hive通常用于在Spark中利用Hive的元数据管理和数据仓库功能,方便地读取和处理Hive表中的数据。
  • 25
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值