测试了一下jupyter notebook中kernel用的环境spark与python3 读取差不多3千万行数据的运行时间

        嗨喽! 大家好,我是“流水不争先,争得滔滔不绝”的翀,欢迎大家来交流学习,一起入坑数据分析,希望我们一起好好学习,天天向上,目前在社会毒打中~~

前言

        虽然大三接触过大数据技术,但是总是提不起什么兴趣,原来只是我没有意识到大数据spark的力量,是我太孤陋寡闻了,一旦体会到,我已经埋进去了,Spark牛逼!!!
测试数据大小:1.43G
行数:25509431行
在这里插入图片描述

首先登场的是python读取时间


import datetime
starttime = datetime.datetime.now()

data = pd.read_sql(sql,hive_conn)

endtime = datetime.datetime.now()
print (endtime - starttime)

结果:花费时间816秒
在这里插入图片描述
接下来是Spark!!!来了
在这里插入图片描述
在这里插入图片描述
0.051580秒,有时会达到0.03多或0.06多,我的天啊!!!是我格局小了
在这里插入图片描述
快了15820倍我的天,我感觉好像不太相信,可能有点误差吧,但是我还是想说句牛逼!

下面说说我之前搜到的一些内容
Hive与Impala之间有什么关系?
https://www.zhihu.com/question/335408459/answer/767041117

除了共享hive的metastore之外没什么太大的关系。
hive是Java写的,由Facebook开源,目的是将特定的SQL语句编译为MapReduce jar包扔给hadoop去执行,本质上是一个代码转换编译的工具,简化mr的开发,因为pig hive出现以前,mr都需要由熟悉Java或Python和hadoop架构熟悉的比较高级的程序员来写,这就限制了hadoop的使用广度。所以擅长语言翻译的facebook搞了一个hive,来把sql语言翻译成java再跑mr。
impala是spark萌芽时期cdh开源的c++编写的sql执行引擎,也用到了有向无环图和RDD的思路,我想当初可能是CDH想跟spark竞争一下内存计算这块的市场,后来发现争不过spark,现在也就处于半开发半维护的状态了,从核心上来说,执行原理跟hive完全不一样,hive是把sql转译成java,编译了jar包提交给hadoop,剩下的事情就是hadoop的mr的事了,hive只需要等着获取结果就好了。而impala则调用C语言层的libhdfs来直接访问HDFS,从NN获取到数据块信息后,直接将数据块读入内存,会使用hadoop的一个配置项叫dfs.client.short.read.circuit。看得出来,这是一个client端配置,作用是直接读取本地的数据块而不是通过HDFS读取整合后的文件。所以impala需要在每个dn节点都安装impalad去完成本地读取的工作。数据块读进内存之后就开始做有向无环图,完成计算之后会将热数据保存在内存里供下次读取。
CDH不开发单独的metastore是因为没有必要,当时hive已经是主流分析工具了,hadoop的使用者经过几年的积累,已经在hive上建立了成千上万个表。你再单独开发一个metastore纯属浪费,难道客户还要再给impala建一个单独的schema吗?再把那成千上万的分析表重建一遍?为什么不直接用以前hive建好的?
在我的认知范围内,impala不能脱离hive的metastore独立存在,而且catalogd有时还需要手工刷新hive的metastore缓存。

总结

专栏学习

01 【数据分析实战项目】: 无人智能售货机商务分析线上课程智能推荐学术前沿趋势分析

02 【算法--数据挖掘】: 机器学习----吃瓜教程!集成学习深度学习 学术前沿趋势分析

03 【天池数据挖掘竞赛】: 心电信号多分类分类新闻推荐入门赛系统项目

04 【Python数据分析】: Numpy 数值计算基础Matplotlib 数据可视化基础Pandas 统计分析基础Pandas 进行数据预处理scikit-learn 构建模型

往期精彩内容

01 【常见的数据分析师的面试问题】: 基础知识考查、概率论与数理统计、数据挖掘、常见模型介绍、数据分析师工作必备技能等等

02 【基于条件随机场模型的中文分词】: 中文分析、python代码实现

03 【 Github开源项目】: Github开源项目 数分/数挖学习路线

       欢迎关注我,一起交流学习探索数据分析的世界,洞察数据!努力接受社会毒打~~

@翀- 我的博客主页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据闲逛人

谢谢大嘎喔~ 开心就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值