大数据技术派
待我代码写成,便娶你为妻。
展开
-
Hive SQL优化思路
后台回复【加群】,申请加入优质大数据学习社群Hive的优化主要分为:配置优化、SQL语句优化、任务优化等方案。其中在开发过程中主要涉及到的可能是SQL优化这块。优化的核心思想是:减少数据量...转载 2022-02-11 08:40:00 · 653 阅读 · 0 评论 -
Hive计算最大连续登陆天数
强哥说他发现了财富密码,最近搞了一套股票算法,其中有一点涉及到股票连续涨停天数的计算方法,我们都知道股票周末是不开市的,这里有个断层,需要一点技巧。我问是不是时间序列,他说我瞎扯,我也知道自己是瞎扯。问他方法,他竟然不告诉我,这么多年的兄弟情谊算个屁。真当我没他聪明吗,哼!靠人不如靠自己,我决定连夜研究一下在Hive里面计算最大连续天数的计算方法。一、背景在网站平台类业务需求中用户的「最大登陆天数」,需求比较普遍。原始数据:u0001 2019-10-10u0001 2019-10-11u00原创 2021-11-04 08:42:59 · 700 阅读 · 1 评论 -
彻底解决Hive小文件问题
最近发现离线任务对一个增量Hive表的查询越来越慢,这引起了我的注意,我在cmd窗口手动执行count操作查询发现,速度确实很慢,才不到五千万的数据,居然需要300s,这显然是有问题的,我推测可能是有小文件。我去hdfs目录查看了一下该目录:发现确实有很多小文件,有480个小文件,我觉得我找到了问题所在,那么合并一下小文件吧:insert into test select * from table distribute by floor (rand()*5);这里使用distribute by进原创 2021-09-20 13:56:57 · 1464 阅读 · 0 评论 -
一文搞懂Hive的数据存储与压缩
文章目录行存储与列存储行存储的特点列存储的特点常见的数据格式TextFileSequenceFileRCfileORCfile格式数据访问Parquet测试准备测试数据存储空间大小测试SQL 执行效率总结Hive 压缩Hive中间数据压缩最终输出结果压缩常见的压缩格式Native LibrariesHive中的可用压缩编解码器演示总结行存储与列存储当今的数据处理大致可分为两大类,联机事务处理 OLTP(on-line transaction processing)联机分析处理 OLAP(On-Lin.原创 2021-09-19 19:49:03 · 473 阅读 · 0 评论 -
学习建议,大数据组件那么多,可以重点学习这几个
经常有同学问我,基于Hadoop生态圈的大数据组件有很多,怎么学的过来呢,毕竟精力有限,我们需要有侧重点,我觉得下面这几个组件至关重要,是基础组件,大部分人都需要会的,其它组件可以用的时候再去查查资料学习。hadoopHbaseHiveSparkFlinkKafkaHadoop是大数据的基础组件,很多组件都需要依赖它的分布式存储、计算;主要包括Hdfs、MR、Yarn三部分,这个需要找一些好的资料(我的主页有资料领取方法),好好学学各自的用法,熟练之后,需要了解其背后的原理。基本的,你原创 2021-05-25 21:58:09 · 532 阅读 · 0 评论 -
Hive表的基本操作
文章目录1. 创建表2. 拷贝表3. 查看表结构4. 删除表5. 修改表5.1 表重命名5.2 增、修、删分区5.3 修改列信息5.4 增加列5.5 删除列5.6 修改表的属性1. 创建表create table语句遵从sql语法习惯,只不过Hive的语法更灵活。例如,可以定义表的数据文件存储位置,使用的存储格式等。create table if not exists test.user1(name string comment 'name',salary float comment 'salar原创 2020-12-21 18:46:12 · 1182 阅读 · 0 评论 -
Hive中的lateral view用法
explode与lateral view在关系型数据库中本身是不该出现的,因为他的出现本身就是在操作不满足第一范式的数据(每个属性都不可再分),本身已经违背了数据库的设计原理(不论是业务系统还是数据仓库系统),不过大数据技术普及后,很多类似pv,uv的数据,在业务系统中是存贮在非关系型数据库中,用json存储的概率比较大,直接导入hive为基础的数仓系统中,就需要经过ETL过程解析这类数据,explode与lateral view在这种场景下大显身手。hive> select * from test原创 2020-12-20 17:19:59 · 1591 阅读 · 0 评论 -
通过HiveServer2访问Hive
先解释一下几个名词:metadata :hive元数据,即hive定义的表名,字段名,类型,分区,用户这些数据。一般存储关系型书库mysql中,在测试阶段也可以用hive内置Derby数据库。metastore :hivestore服务端。主要提供将DDL,DML等语句转换为MapReduce,提交到hdfs中。hiveserver2:hive服务端。提供hive服务。客户端可以通过beeline,jdbc(即用java代码链接)等多种方式链接到hive。beeline:hive客户端链接到hiv原创 2020-12-19 13:43:54 · 627 阅读 · 1 评论 -
Hive 分析函数lead、lag实例应用
Lag和Lead分析函数可以在同一次查询中取出同一字段的后N行的数据(Lag)和前N行的数据(Lead)作为独立的列。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率,其中over()表示当前查询的结果集对象,括号里面的语句则表示对这个结果集进行处理。1 LEAD与LAG相反,LEAD(col,n,DEFAULT) 用于统计窗口内往下第n行值参数1为列名,参数2为往下第n行(可选,默认为1),参数3为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL)## 场景用户原创 2020-12-18 10:28:37 · 599 阅读 · 0 评论 -
Python查询hive结果保存到mysql的代码优化历程
目录1、需要的包2、我们选择pyhive3、下面举一个例子4、代码简化5、结果很甜6、Python操作Hive事务表我的博客原文地址:http://www.ikeguang.com/2018/12/21/pyhive-mysql/由于hive查询结果是不能直接保存到mysql的,有人会用sqoop,相对还是不方便。当然了,肯定还有一些其它的hive~mysql互导工...原创 2017-08-13 10:32:00 · 789 阅读 · 0 评论 -
使用scala编写flink消费kafka实时计算pv,uv
实时统计pv、uv是再常见不过的大数据统计需求了,前面出过一篇SparkStreaming实时统计pv,uv的案例,这里用flink实时计算pv,uv。我们需要统计不同数据类型每天的pv,uv情况,并且有如下要求.每秒钟要输出最新的统计结果程序永远跑着不会停,所以要定期清理内存里的过时数据收到的消息里的时间字段并不是按照顺序严格递增的,所以要有一定的容错机制访问uv并不一定每秒钟都会变...原创 2019-03-21 22:16:37 · 9990 阅读 · 7 评论 -
python查询hive结果保存到mysql的python代码优化历程
由于hive查询结果是不能直接保存到mysql的,有人会用sqoop,相对还是不方便。当然了,肯定还有一些其它的hive~mysql互导工具,通常我们用python驱动hiveserver2,hivecli官方并不建议,也利用python将结果保存到mysql。那么python操作hive查询结果保存到mysql过程是怎么样的呢?1、需要的包网上百度,搜到的包不外乎下面3个,这里用第二个。...原创 2019-01-16 22:42:25 · 1625 阅读 · 0 评论 -
Python操作hive与mysql
由于hive查询结果是不能直接保存到mysql的,通常用python驱动hiveserver2,也利用python将结果保存到mysql。需要的包网上百度,搜到的包不外乎下面3个,这里用第二个。1、pyhs2,已没有更新维护https://github.com/BradRuderman/pyhs22、pyhivehttps://github.com/dropbox/PyHive3、i...原创 2018-12-21 23:34:33 · 1383 阅读 · 0 评论 -
hive 常用知识点
hm3hive创建orc格式表不能像textfile格式一样直接load数据到表中,一般需要创建临时textfile表,然后通过insert into 或者insert overwrite到orc存储格式表中。临时表create table if not exists hm3.hm3_format_log_tmp(time string,source string,remote_...原创 2018-11-04 21:00:02 · 2104 阅读 · 1 评论 -
hive1.2.1整合hbase遇到的坑
通常我们会整合hive与hbase,通过创建hive外部表,进行一些增删改查hbase表,hive1.2.1整合hbase1.2.6,遇到了一些坑,通过修改了几行hive源代码,编译hive-hbase-handler.jar包解决了这个问题。 下载hive源代码:http://archive.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-s...原创 2019-06-20 23:18:43 · 2146 阅读 · 0 评论 -
hive MapJoin 异常 : return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
今天写了一个hive sql,A表往B表插入数据,如果公共字段id相同,则不插入,即不存在则插入,否则不插入,这样一个sql,可是执行时报了内存异常,具体信息是:2018-08-14 13:45:17 Starting to launch local task to process map join; maximum memory = 31215452162018-08-14 13...原创 2018-08-14 22:43:10 · 8256 阅读 · 1 评论 -
每天新老用户,日活,周活,月活的hive计算
最近有一个需求,统计新老用户,日活,周活,月活;这里日活,当然了周活,月活就是一个count(distinct(guid))语句。#!/usr/bin/python# -*- coding:utf-8 -*-# hive更新历史用户表,日常查询,保存到MySQLimport sysimport datetimeimport commandsimport MySQLdb#...原创 2018-08-03 17:34:03 · 20923 阅读 · 5 评论