
大数据
忍者1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
实时统计每天pv,uv的sparkStreaming结合redis结果存入mysql供前端展示
最近有个需求,实时统计pv,uv,结果按照date,hour,pv,uv来展示,按天统计,第二天重新统计,当然了实际还需要按照类型字段分类统计pv,uv,比如按照date,hour,pv,uv,type来展示。这里介绍最基本的pv,uv的展示。1、项目流程日志数据从flume采集过来,落到hdfs供其它离线业务使用,也会sink到kafka,sparkStreaming从kafka拉数据过来,计算pv,uv,uv是用的redis的set集合去重,最后把结果写入mysql数据库,供前端展示使用。2、转载 2021-11-02 15:41:07 · 456 阅读 · 0 评论 -
hive udf 使用方法
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表hive作为一个sql查询引擎,自带了一些基本的函数,比如count(计数),sum(求和),有时候这些基本函数满足不了转载 2021-11-02 15:11:44 · 577 阅读 · 0 评论 -
hive常见问题
1 hiveserver2 不识别udf函数新写的UDF在hive cli注册以后,无法在hiveserver2远程连接时使用,show functions没有这个函数。在无法使用UDF的 HiveServer2 上,执行 reload function 命令,将MetaStore中新增的UDF信息同步到HiveServer2内存中,即可。2 修复大量分区在复制hive分区表的时候,将数据复制到hive表对应目录后需要修复元数据,如果一次修复的分区数据太大,会报错:hive> MSCK RE转载 2021-11-01 18:30:26 · 1319 阅读 · 0 评论 -
hive中orc格式表的数据导入
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表hive创建orc格式表不能像textfile格式一样直接load数据到表中,需要创建临时textfile表,然后通过i转载 2021-11-01 21:00:54 · 2209 阅读 · 0 评论 -
第一章——hive入门教程之hello world
Hive简介hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。2. Hive的安装安装hive前请确保已经安装好hadoop集群,通常使用mysql作为hive的元数据库,所以需要安装mysql。我的hadoop集群是用3台虚拟机搭建.转载 2021-11-01 20:30:19 · 519 阅读 · 0 评论 -
sqoop用法之mysql与hive数据导入导出
本文目录一. Sqoop介绍二. Mysql 数据导入到 Hive三. Hive数据导入到Mysql四. mysql数据增量导入hive1 基于递增列Append导入 1). 创建hive表 2). 创建job 3) 执行job2 Lastmodified 导入实战 1). 新建一张表 2). 初始化hive表:一. Sqoop介绍Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL、Ora转载 2021-11-01 20:01:02 · 253 阅读 · 0 评论 -
第二章——hive入门教程之word count
如果使用java编写mapreduce程序实现wordcount也很简单,如下代码就实现了一个简单的hello world程序:word count。需要的pom.xml依赖<!-- 版本信息 --> <properties> <log4j.version>2.5</log4j.version> <hadoop.version>2.7.2</hadoop.version> <转载 2021-11-01 19:30:24 · 191 阅读 · 0 评论 -
Hive知识点
工作中hive常用知识点。Hive简介hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。创建hive表新建个数据库testcreate database test;create external table if not exists转载 2021-11-01 19:00:36 · 103 阅读 · 0 评论 -
Hive常见问题
内存溢出虚拟内存溢出:Current usage: 1.1gb of 2.0gb physical memory used; 4.6gb of 4.2gb virtual memory used. Killing container.【即虚拟内存溢出】;方法一:提高yarn.nodemanager.vmem-pmem-ratio = 5或者更高;【推荐】方法二:yarn.nodemanager.vmem-check-enabled =false ;关闭虚拟内存检查;不推荐方法三:提高物理内存分.转载 2021-11-02 14:41:41 · 473 阅读 · 0 评论 -
hive关联hbase表
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表Hbase是一种NoSQL数据库,这意味着它不像传统的RDBMS数据库那样支持SQL作为查询语言。一种方法是使用hive转载 2021-11-01 18:01:25 · 760 阅读 · 0 评论 -
hbase统计表的行数的3种方法
这里有一张hbase表test:test:hbase(main):009:0> scan 'test:test'ROW COLUMN+CELL 1 column=info:name, timestamp=159022128转载 2021-11-01 17:35:36 · 1376 阅读 · 0 评论 -
cdh中yarn调度spark,container资源倾斜,container集中于一台或几台机器
在cdh 6.0.1版本中,提交spark任务,发现yarn分配的container集中于几台节点,其它节点没有分配。这显然会导致个别机器负载过高,从而影响集群整个性能。原因yarn.scheduler.fair.assignmultiple: Whether to allow multiple container assignments in one heartbeat. Defaults to false.这个配置项决定了是否在一次心跳分配请求中分配多个containe,在CDH中默认为true,转载 2021-11-01 17:08:24 · 392 阅读 · 0 评论 -
hbase2.0.3 内存规划
读多写少由于业务场景的需要,我们hbase偏读多写少的,虽然hbase读的速度会慢于写的速度。搭建hbase集群,需要做一些基础的配置,尽量让hbase能有一个不错的表现,其中内存规划工作占了很大的比例。机器64G内存注意LRUBlockCache + MemStore < 80% * JVM_HEAPhbase配置-Xmx32g -Xms32g -Xmn1g -Xss256k -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+UseP转载 2021-11-01 16:48:51 · 233 阅读 · 0 评论 -
SpringBoot连接Hive异常
SpringBoot连接Hive异常,错误信息如下:Table not found ‘DUAL’通过 jdbc的方式,都是可以的,这里咋就不行了。原因dual表的概念来自oracle,数据库建立时即与数据字典一起初始化,该表只有一个varchar2类型名为dummy的字段解决办法在hive里面default库创建一个dual表,随便插入一条数据,重新启动SpringBoot程序,就可以连上hive了。CREATE TABLE dual(dummy string);更多请见:http://w转载 2021-10-31 18:30:24 · 908 阅读 · 1 评论 -
Hive中的锁的用法和使用场景
前面遇到过一次因为Hive中表被锁住了,导致定时任务一直失败。这两天又出现了表被锁,原因是连接hiveserver2过于频繁,mysql连接被打满,引发的连锁反应,导致我们的小时任务一直失败,下午重点注意到这个问题,才解决好。Hive中的锁在执行insert into或insert overwrite任务时,中途手动将程序停掉,会出现卡死情况(无法提交MapReduce),只能执行查询操作,而drop insert操作均不可操作,无论执行多久,都会保持卡死状态。查看Hive的中死锁,可以使用show转载 2021-10-31 18:00:18 · 666 阅读 · 0 评论 -
数据仓库建模方法论
建模方法论数仓的建模或者分层,其实都是为了更好的去组织、管理、维护数据,所以当你站在更高的维度去看的话,所有的划分都是为了更好的管理。小到JVM 内存区域的划分,JVM 中堆空间的划分(年轻代、老年代、方法区等),大到国家的省市区的划分,无一例外的都是为了更好的组织管理访问性能:能够快速查询所需的数据,减少数据I/O。数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本。使用效率:改善用户应用体验,提高使用数据的效率。数据质量:改善数据统计口径的不一致性,减转载 2021-10-31 17:45:18 · 154 阅读 · 0 评论 -
数仓建模分层理论
分层建设理论简单点儿,直接ODS+DM就可以了,将所有数据同步过来,然后直接开发些应用层的报表,这是最简单的了;当DM层的内容多了以后,想要重用,就会再拆分一个公共层出来,变成3层架构,这个过程有点类似代码重构,就是在实践中不断的进行抽象、总结。数仓的建模或者分层,其实都是为了更好的去组织、管理、维护数据,所以当你站在更高的维度去看的话,所有的划分都是为了更好的管理。小到JVM 内存区域的划分,JVM 中堆空间的划分(年轻代、老年代、方法区等),大到国家的省市区的划分,无一例外的都是为了更好的组织管理。转载 2021-10-31 17:00:31 · 132 阅读 · 0 评论 -
数据仓库之拉链表
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表场景需要查看历史某一时间节点的状态,同时考虑到存储空间;或则适用于数据会发生变化,但是大部分是不变的 在数据转载 2021-10-31 16:36:01 · 184 阅读 · 0 评论 -
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) 场景用户Pe转载 2021-10-31 12:33:12 · 258 阅读 · 0 评论 -
通过HiveServer2访问Hive
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表先解释一下几个名词:metadata :hive元数据,即hive定义的表名,字段名,类型,分区,用户这些数据。一般存转载 2021-10-31 12:02:26 · 316 阅读 · 0 评论 -
Hive中的集合数据类型
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表除了使用础的数据类型string等,Hive中的列支持使用struct, map, array集合数据类型。Arr转载 2021-10-31 11:32:25 · 234 阅读 · 0 评论 -
Hive动态分区详解
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表动态分区调整动态分区属性:设置为true表示开启动态分区功能(默认为false)hive.exec.dynamic.p转载 2021-10-31 11:02:15 · 1478 阅读 · 0 评论 -
数据湖和数据仓库
刀光剑影江湖情,摧枯拉朽浪滔滔。功名利禄拂衣去,山高水远路迢迢。数据湖初识近两年,为什么都开始谈论起 Data Lake 这个”新名词”了?先说说我的想法,其实还是用户需求驱动数据服务,大家开始关注 Data Lake 的根本原因是用户需求发生了质变,过去的数据仓库模式以及相关组件没有办法满足日益进步的用户需求。数据湖概念的诞生,源自企业面临的一些挑战,如数据应该以何种方式处理和存储。最开始,企业对种类庞杂的应用程序的管理都经历了一个比较自然的演化周期。那么到底是什么样的需求和挑战驱动了技术的变革转载 2021-10-30 17:42:49 · 200 阅读 · 0 评论 -
Hive基于UDF进行文本分词
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表本文大纲UDF 简介Hive作为一个sql查询引擎,自带了一些基本的函数,比如count(计数),sum(求和),转载 2021-10-30 17:12:24 · 289 阅读 · 0 评论 -
Hive 中的四种排序详解,再也不会混淆用法了
Hive 中的四种排序排序操作是一个比较常见的操作,尤其是在数据分析的时候,我们往往需要对数据进行排序,hive 中和排序相关的有四个关键字,今天我们就看一下,它们都是什么作用。数据准备下面我们有一份温度数据,tab 分割2008 32.02008 21.02008 31.52008 17.02013 34.02015 32.02015 33.02015 15.92015 31.02015 19.92015 27转载 2021-10-30 16:42:28 · 265 阅读 · 0 评论 -
Hive窗口函数row number的用法
条评论row_number前面我们介绍窗口函数的时候说到了窗口函数的使用场景,我们也给它起了一个名字进行区分,通用窗口函数和特殊窗口函数,今天我们就来看一下排序相关的窗口函数,因为是窗口函数,并且我们说它是用来排序的,我们大概也能猜到它就是用来对窗口内的数据进行排序的其实关于排序我们前面也介绍过order by,sort by 等排序的方式Hive语法之常见排序方式,为什么还有窗口函数进行排序的,因为前面的order by,sort by 等虽然可以排序但是不能给我们返回排序的值(名次),如果你用过m转载 2021-10-30 16:12:20 · 1239 阅读 · 0 评论 -
Hive表的基本操作
Hive系列文章Hive表的基本操作Hive中的集合数据类型Hive动态分区详解hive中orc格式表的数据导入Java通过jdbc连接hive通过HiveServer2访问HiveSpringBoot连接Hive实现自助取数hive关联hbase表Hive udf 使用方法Hive基于UDF进行文本分词Hive窗口函数row number的用法数据仓库之拉链表创建表create table语句遵从sql语法习惯,只不过Hive的语法更灵活。例如,可以定义表的数据文件存储位转载 2021-10-30 15:43:12 · 157 阅读 · 0 评论 -
Hive进阶—抽样的各种玩法
抽样抽样在Hive 中也是比较常用的一种手段,主要用在下面的几个场景中一些机器学习的场景中,数仓作为数据的提供方提供样本数据数据的计算结果异常或者是指标异常,这个时候如果我们往往需要确认数据源的数据是否本身就有异常SQL的性能有问题的时候我们也会使用抽样的方法区查看数据,然后进行SQL调优在大规模数据量的数据分析及建模任务中,往往针对全量数据进行挖掘分析时会十分耗时和占用集群资源,因此一般情况下只需要抽取一小部分数据进行分析及建模操作。随机抽样(rand()函数)我们一般情况下是使用排序函数转载 2021-10-30 15:12:32 · 189 阅读 · 0 评论 -
Spark内核解析
Spark内核概述Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制、Spark任务调度机制、Spark内存管理机制、Spark核心功能的运行原理等,熟练掌握Spark内核原理。一、Spark核心组件回顾DriverSpark驱动器节点,用于执行Spark任务中的main方法,负责实际代码的执行工作。Driver在Spark作业执行时主要负责:1、将用户程序转化为任务(Job);2、在Executor之间调度任务(task);3、跟踪Executor的执行情况;4、转载 2021-10-30 12:18:28 · 132 阅读 · 0 评论 -
生男生女的概率
先来看一下2019年人口普查,也是第七次人口普查的男女性别比例数据,是目前最新的数据了。这里性别比,女性基数是100,例如:20 ~ 24这个区间,性别比是114.61,也就是说,114.6个男性对应100个女性。可以看出,男女数量差异比较明显,但是在这个人口基数大国中,这个差异得以放大。那么,这个性别数量差异是怎么造成的呢?我们继续探究。故事一以前在农村重男轻女现象比较严重,我村里一户人家想要一个男孩,结果接连生了5胎,都是女孩。人生就是这样的倔强,也需要顽强,有时候你不坚持一下,你都不知道什么叫转载 2021-10-31 10:37:22 · 1015 阅读 · 0 评论 -
YARN调度器(Scheduler)详解
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源。在Yarn中,负责给应用分配资源的就是Scheduler。其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景。为此,Yarn提供了多种调度器和可配置的策略供我们选择。YARN架构如下:ResourceManager(RM):负责对各NM上的资源进行统一管理和调度,将AM分配空闲的Container运行并监控其运行状.转载 2021-10-30 11:18:31 · 507 阅读 · 0 评论 -
Spark开发常用参数
Driverspark.driver.coresdriver端分配的核数,默认为1,thriftserver是启动thriftserver服务的机器,资源充足的话可以尽量给多。spark.driver.memorydriver端分配的内存数,默认为1g,同上。spark.driver.maxResultSizedriver端接收的最大结果大小,默认1GB,最小1MB,设置0为无限。这个参数不建议设置的太大,如果要做数据可视化,更应该控制在20-30MB以内。过大会导致OOM。spark.ex转载 2021-10-30 11:48:29 · 1332 阅读 · 0 评论 -
Hive必会SQL语法explode 和 lateral view
explode 和 lateral view为什么把这两个放一块呢,因为这两个经常放在一起用啊。explode与lateral view在关系型数据库中本身是不该出现的,因为他的出现本身就是在操作不满足第一范式的数据(每个属性都不可再分),本身已经违背了数据库的设计原理(不论是业务系统还是数据仓库系统),不过大数据技术普及后,很多类似pv,uv的数据,在业务系统中是存贮在非关系型数据库中,用json存储的概率比较大,直接导入hive为基础的数仓系统中,就需要经过ETL过程解析这类数据,explode与l转载 2021-10-30 10:46:09 · 1416 阅读 · 0 评论 -
Flink实时计算topN热榜
TopN的常见应用场景,最热商品购买量,最高人气作者的阅读量等等。用到的知识点Flink创建kafka数据源;基于 EventTime 处理,如何指定 Watermark;Flink中的Window,滚动(tumbling)窗口与滑动(sliding)窗口;State状态的使用;ProcessFunction 实现 TopN 功能;案例介绍通过用户访问日志,计算最近一段时间平台最活跃的几位用户topN。创建kafka生产者,发送测试数据到kafka;消费kafka数据,使用滑转载 2021-10-29 19:20:52 · 363 阅读 · 0 评论 -
彻底搞清Flink中的Window机制
窗口在流处理应用中,数据是连续不断的,因此我们不可能等到所有数据都到了才开始处理。当然我们可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的网页。在这种情况下,我们必须定义一个窗口,用来收集最近一分钟内的数据,并对这个窗口内的数据进行计算。Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个.转载 2021-10-29 18:53:04 · 194 阅读 · 0 评论 -
Flink之Watermark详解
在上一篇文章中我们介绍了窗口相关的内容,那么问题来了,比如公司组织春游,规定周六早晨8:00 ~ 8:30清查人数,人齐则发车出发,可是总有那么个同学会睡懒觉迟到,这时候通常也会等待20分钟,但是不能一直等下去,如果到了20分钟则认为,想自己在家过周末,不参与春游活动了,不会继续等待了,直接出发。这种机制跟这里要讲的watermark机制是一个意思。指的是,由于网络延迟等原因,一条数据会迟到计算,比如使用event time来划分窗口,我们知道窗口中的数据是计算一段时间的数据,如果一个数据来晚了,它的时间转载 2021-10-29 18:16:07 · 424 阅读 · 0 评论 -
【免费开源】2020年独家全球疫情大数据接口(实时获取)
一、 接口:https://www.maomin.club/fy/get/二、线上实例:线上链接三、实例:四、文档:以下是主要参数,具体参数可以获取到数据之后,再详细探索。更多请见:http://www.mark-to-win.com/tutorial/50986.html...转载 2021-10-16 16:53:44 · 1683 阅读 · 0 评论