当前位置: 首页 > news >正文

数仓技术hive与oracle对比(一)

准备

包括软硬件环境、数据、测试数据三方面的准备内容。

环境

虚拟机软件virtualbox7,同样的虚拟机配置:内存2G、cpu一核,物理主机同一台macbookpro(13-2020款),所以硬盘IO读写速度一致。

综上:hive环境与oracle环境是同样的cpu、内存、硬盘、带宽配置。

数据

使用仓库、组织、物料、库存流水,进行响应测试,oracle使用dbeaver等将测试数据从外系统加载至测试环境,hive使用sqoop将测试数据从外系统加载至测试环境。

hive中,表名、列名是不区分大小写的,但库名区分大小写。oracle中,表名、列名、库名均不区分大小写。

测试数据的加载,按照oracle、hive的不同,分别采用不同的方式和工具进行处理。建表、导入数据并记录导入数据所消耗时间。

oracle加载数据统计表

序号

方式

数据量

耗时

1

T_OD_BD_STORDOC

dbeaver

65

0.67s

2

T_OD_ORG_ORGS

dbeaver

1042

15s

3

T_OD_BD_MATERIAL

sqlplus

42388

5m39s

4

T_OD_IC_FLOW

存储过程

193537

1m52s

备注:1、数据量超达到4万条,dbeaver客户端加载数据明显慢很多,受限于客户端工具(客户端工具是java所开,需要将sql文件在工具中打开),改为使用服务端加载。

2、ic_flow 无法使用sqlplus这种方式,因为其导出的insert批量文件,文件中的insert语句超过sqlplus最大输入范围,改为使用存储过程。

hive加载数据统计表

序号

方式

数据量

耗时

1

HT_OD_BD_STORDOC

sqoop

65

0.54s

2

HT_OD_ORG_ORGS

sqoop

1042

3.08s

3

HT_OD_BD_MATERIAL

sqoop

42388

3.49s

4

HT_OD_IC_FLOW

sqoop

193537

3.73s

测试数据

hive使用hplsql循环导入T_OD_IC_FLOW_10百万行、T_OD_IC_FLOW_100千万行数据时,系统报错,java虚拟机崩溃。最后计划使用T_OD_IC_FLOW中数据向T_OD_IC_FLOW_10手动加载10次,完成T_OD_IC_FLOW_10的数据导入,也不成功,遂放弃。

最终测试数据表统计如下。

表名

数据量

占用空间

oracle

hive

oracle

hive

T_OD_BD_STORDOC

HT_OD_BD_STORDOC

65

45

0.0625M

0.0183M

T_OD_ORG_ORGS

HT_OD_ORG_ORGS

1042

130

0.6875M

0.6168M

T_OD_BD_MATERIAL

HT_OD_BD_MATERIAL

42388

86

20M

19.62M

T_OD_IC_FLOW

HT_OD_IC_FLOW

193537

166

232M

208.77M

T_OD_IC_FLOW_10

HT_OD_IC_FLOW_10

1935370

166

2304M

T_OD_IC_FLOW_100

HT_OD_IC_FLOW_100

19353700

166

22733M

http://www.lryc.cn/news/498694.html

相关文章:

  • 筑起厂区安全--叉车安全防护装置全解析
  • 深入浅出云计算 ---笔记
  • ARINC 标准全解析:航空电子领域多系列标准的核心内容、应用与重要意义
  • SNMP 协议介绍
  • Python中的数据结构深入解析:从列表到字典的优化技巧
  • 如何利用Java爬虫获得商品类目
  • 力扣面试题 32 - 检查平衡性 C语言解法
  • 【机器学习】机器学习的基本分类-监督学习-决策树-ID3 算法
  • Implicit style-content separation using lora
  • ROS[aruco_ros+easy_handeye]手眼标定(眼在手外+UR10e+realsense-d435i)
  • 第九篇:k8s 通过helm发布应用
  • dataTable
  • json+Tomact项目报错怎么办?
  • Flume——sink连接Hive的参数配置(属性参数)
  • Netty面试内容整理-Netty 的应用场景
  • 波特图方法
  • 服务器数据恢复—硬盘掉线导致热备盘同步失败的RAID5阵列数据恢复案例
  • 在Ubuntu中运行和管理AppImage
  • 如何查看电脑的屏幕刷新率?
  • 浏览器数据存储方法深度剖析:LocalStorage、IndexedDB、Cookies、OPFS 与 WASM - SQLite
  • 面向金融场景的大模型 RAG 检索增强解决方案
  • 经典蓝牙(BT/EDR)蓝牙配对与连接
  • Flask: flask框架是如何实现非阻塞并发的
  • JAVA |日常开发中连接Oracle数据库详解
  • 头歌 进程管理之二(wait、exec、system的使用)
  • 详解日志格式配置:XML 与 Spring Boot 配置文件格式
  • JDK21新特性
  • SqlDataAdapter
  • AI赋能:构建安全可信的智能电子档案库
  • 分类预测 | PSO-PNN粒子群优化概率神经网络多特征分类预测