大数据
文章平均质量分 58
疯子@123
疯子
展开
-
数据仓库工具箱
Kimball经典之作前言如果没有对海量数据进行科学分析的能力,沃尔玛的老板再精明,也绝对想不到“啤酒与尿布”这两个风马牛不相及的东西之间还有着千丝万缕的联系。而将它们放在一起,竟然增加了啤酒的销量,可见数据分析的巨大威力。对于数据仓库来说,业务需求才是第一位的。产业界已经认定,维度模型是为数据仓库用户提交数据德最可行的技术手段。联机事务处理(OLTP, Online Transaction Processing)在线分析处理(OLAP,Online Analystic Processin原创 2022-02-03 15:28:24 · 1785 阅读 · 0 评论 -
Kafka高效读写数据
1.kafka本身是分布式集群,同时采用分区技术,并发度高。2.顺序写磁盘,kafka的producer生产数据,要写入到log文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到600M/s,而随机写只有100k/s。3.零复制技术kafka需要将本地磁盘的数据通过网络发送给消费者,传统方式通过网络发送数据需要将文件先加载入内核态的Page Cache中,然后加载入程序application cache中,程序决定将数据发送给哪台机器,将文件加载入Socket C原创 2021-03-22 20:54:17 · 381 阅读 · 0 评论 -
数据仓库的4大特征
1. 主题性数据仓库是一般从用户实际需求出发,将不同平台的数据源按设定主题进行划分整合,与传统的面向事务的操作型数据库不同,具有较高的抽象性。面向主题的数据组织方式,就是在较高层次对分析对象数据的一个完整、统一并一致的描述,能完整及统一地刻画各个分析对象所涉及的有关企业的各项数据,以及数据之间的联系。2.集成性数据仓库中存储的数据大部分来源于传统的数据库,但并不是将原有数据简单的直接导入,而是需要进行预处理。这是因为事务型数据中的数据一般都是有噪声的、不完整的和数据形式不统一的。这些“脏数据”的直接转载 2021-03-19 15:53:35 · 3422 阅读 · 0 评论 -
安装JDK和Hadoop
配置环境变量临时权限:sudo vim /etc/profile在文档的末尾加如下配置:#JAVA_HOMEexport JAVA_HOME=/opt/module/jdk1.8.0_144export PATH=$PATH:$JAVA_HOME/bin#HADOOP_HOMEexport HADOOP_HOME=/opt/module/hadoop-2.7.2export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin配置完成后要:sour原创 2021-03-01 14:58:53 · 184 阅读 · 0 评论 -
hive中mapjoin原理
https://blog.csdn.net/u012369535/article/details/89715477笼统的说,Hive中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join)一、Hive Common Join如果不指定MapJoin或者不符合MapJoin的条件,那么Hive解析器会将Join操作转换成Common Join,即:在Reduce阶段完成join.整个过程包含Map、Shuffle、Reduce阶段。Map转载 2021-02-24 09:56:06 · 547 阅读 · 0 评论 -
flink_WordCount、StreamWordCount
pom.xml 配置文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apach原创 2021-02-23 19:05:05 · 276 阅读 · 0 评论 -
canal原理的一些学习-1(canal的一些原理性介绍)
https://blog.csdn.net/u013200380/article/details/80963569#1-cannal-%E6%98%AF%E4%BB%80%E4%B9%88%E8%83%BD%E5%81%9A%E4%BB%80%E4%B9%88%E7%94%A8cannal 是什么,能做什么用1.1 mysql的binlog1.2 mysql 的主从复制过程1.3 canal能够同步数据的原理quick startcanal 的设计3.1 canal的设计理念3.2 ca转载 2021-02-09 11:23:10 · 791 阅读 · 0 评论 -
Kerberos
Kerberos 星环大数据用的是这个,CDH集成的也是Kerberos ,tbds 用的是TBDSAuthorizerCDH6.3.2之Kerberos安全认证Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。原创 2021-02-08 11:04:47 · 558 阅读 · 0 评论 -
实用 | Sqoop数据导出一致性问题
https://blog.csdn.net/qq_41359684/article/details/1042407841)场景1:如Sqoop在导出到Mysql时,使用4个Map任务,过程中有2个任务失败,那此时MySQL中存储了另外两个Map任务导入的数据,此时老板正好看到了这个报表数据。而开发工程师发现任务失败后,会调试问题并最终将全部数据正确的导入MySQL,那后面老板再次看报表数据,发现本次看到的数据与之前的不一致,这在生产环境是不允许的。官网:http://sqoop.apache.org/转载 2021-02-05 16:23:55 · 220 阅读 · 0 评论 -
面试官:说说count(*)、count(1)、count(列名)有什么区别?
count() 和 count(1)和count(列名)区别count()包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULLcount(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULLcount(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。列名为主键,count(列名)会比count(1)快 。列名不为主键,count(1)会比count(列名)快转载 2020-09-14 22:30:41 · 606 阅读 · 0 评论 -
hive外部表访问异常-Cannot obtain block length for LocatedBlock
https://blog.csdn.net/chuhanyong5091/article/details/100970187?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.noneca转载 2020-05-17 14:21:22 · 295 阅读 · 0 评论 -
Spark-项目回顾
Spark-回顾Spark提交任务spark localspark standalonespark yarn-clientspark yarn-clusterClient(1-探路兵--来报前方有敌情)ApplicationManager(2-皇上--我不懂打仗,把这事交个兵部)NodeManager(3-兵部--我的找个将军来打这场战役)MR AppMaste...原创 2020-05-17 23:15:26 · 101 阅读 · 0 评论 -
华为sql
思路整个sql考一个sum if 一个开窗函数if(a=b,1,2) 三目运算符,三元表达式 如果a=b为true,返回1,否则返回false.如果满足条件计算,不满足条件不计数第一步 查询出各个用户 一月份,二月份和三月份并且三月份订单金额大于10,个数select uid, sum(if(date_format(otime,'yyyy-...原创 2020-05-17 23:16:01 · 180 阅读 · 0 评论 -
hdfs_namenode启动失败
hdfs启动报错标准错误: /var/lib/ambari-agent/data/errors-422.txt2020-04-17 10:59:28,598 - Error while executing command 'restart':Traceback (most recent call last): File "/usr/lib/python2.6/site-package...原创 2020-04-17 11:53:18 · 557 阅读 · 0 评论 -
求各区域点击量Top3商品统计
rank函数说明rank()排序相同时会重复,总数不会变.dense_rank() 排序相同时会重复,总数会减少 dense_rank()row_number() 会根据顺序计算求各区域 点击量Top3 商品统计 写sql操作需求三:求各区域 点击量Top3 商品统计 1 需求简介 计算各个区域前三大热门商品,并备注上每个商品在主要城市中的分布比例,...原创 2019-06-18 15:42:40 · 749 阅读 · 0 评论 -
Hive排序
order by全局排序全局排序,只用一个reducer,asc(ascend)升序(默认)desc(descend)降序select * from emp order by sal;select * from emp order by sal desc;select ename,sal*2 twosal from emp order by twosal;select ename, d...原创 2019-06-17 21:04:31 · 175 阅读 · 0 评论 -
序列化案例实操_MapReduce
需求统计每一个手机号耗费的总上行流量、下行流量、总流量原始数据 phone.txt1 13736230513 192.196.100.1 www.baidu.com 2481 24681 2002 13846544121 192.196.100.2 264 0 2003 13956435636 192.196.100.3 132 1512 2004 13966251146...原创 2019-06-11 18:19:38 · 452 阅读 · 0 评论 -
文件分发脚本_xsync
文件分发脚本echo no args;exit; fi #2 获取文件名称 p1=$1 fname=`basename $p1`echo fname=$fname#3 获取上级目录到绝对路径pdir=`cd -P $(dirname $p1); pwd`echo pdir=$pdir#4 获取当前用户名称user=`whoami` ...原创 2019-06-05 17:34:45 · 436 阅读 · 0 评论 -
查看多台机器的jps
util.sh#!/bin/bashfor((host=191; host<194; host++));do echo --------------------- hadoop$host ---------------- ssh hadoop$host /opt/module/jdk1.8.0_144/bin/jpsdone原创 2019-06-05 17:02:02 · 395 阅读 · 0 评论 -
CDH_impala
CDH中安装impala连接impala[root@hadoop121 bin]# impala-shell -i hadoop122Starting Impala Shell without Kerberos authenticationConnected to hadoop122:21000Server version: impalad version 2.9.0-cdh5.12.1...原创 2019-05-31 15:09:19 · 360 阅读 · 0 评论 -
MapReducer扩展案例---TopN案例
TopN案例1.需求对需求2.3输出结果进行加工,输出流量使用量在前10的用户信息(1)输入数据13470253144 180 180 36013509468723 7335 110349 11768413560439638 918 4938 585613568436656 3597 25635 2923213590439668 1116 954 207013630577991 ...原创 2019-05-21 11:04:27 · 1170 阅读 · 2 评论 -
MapRudece-----WordCount案例实操
MapRudece-----WordCount案例实操idea中按下ctrl+O实现方法的重写,psvm按下实现main方法, 工作中不能在main方法中乱抛异常.resources----log4j.propertieslog4j.rootLogger=INFO, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderl...原创 2019-05-08 19:39:42 · 313 阅读 · 0 评论 -
sql提升进阶
CREATE TABLE student(sno VARCHAR(10) PRIMARY KEY, --学号sname VARCHAR(20), --姓名sage INT, --年龄ssex VARCHAR(5) --性别);CREATE TABLE teacher(tno VARCHAR(...原创 2019-03-26 10:41:15 · 320 阅读 · 0 评论 -
HashMap源码解析
HashMap源码解析16/0.75/8默认的初始容量static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16默认的负载因子值static final float DEFAULT_LOAD_FACTOR = 0.75f; // 3/4把链表变成红黑树的结点上限static final int TREE...原创 2019-03-19 18:07:51 · 79 阅读 · 0 评论 -
数据仓库-事实表/维度表技术-读书笔记三
版权声明:转载请注明出处,作者 数据僧 https://blog.csdn.net/pkxdnpkxdn/article/details/82770594事实表技术简述事实表结构1,总是包含外键,且外键不能唯空。2,事实表的设计完全依赖业务活动,不受最终报表的影响。3,每行对应一个度量事件。可加、半可加、半可加事实1,可加事实:最灵活,最有用的事实。可以按照和事实表关联的任意维度汇总...转载 2019-03-13 20:43:47 · 418 阅读 · 0 评论 -
维度表,实体表,事实表之间的关系
这段时间在慢慢学习有关维度建模的一些东西,其中有个问题当时被老大挖了个坑就跳了进去几天都没爬出来,这个坑主要在于我对维度表,实体表,事实表这三种表之间的关系和概念认知比较模糊,当时老大要我去设计一个关于设备的维度和事实表及实体表出来时,结果我就真的去傻乎乎的对设备进行各种维度表和事实表的设计,然后在给老大看的时候各种被怼,最后才认知到设备怎么可能设计的出一个维度表呢,它本身就是一个客观存在的事实,...转载 2019-03-13 20:41:26 · 1178 阅读 · 0 评论 -
SparkStreaming有哪几种方式消费Kafka中的数据,它们之间的区别是什么
1.基于Receiver的方式这种方式使用Receiver来获取数据.Receiver是使用Kafka的高层次Consumer API来实现的.receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的.(如果突然数据暴增,大量batch堆积,很容易出现内存溢出的问题),然后Spark Streaming启动的job会去处理那些数据.2.基于Direct的方式....原创 2019-07-09 20:39:41 · 515 阅读 · 0 评论 -
Kafka分区分配策略
在Kafka内部存在两种默认的分区分配策略:Range和RoundRobin.Range是默认策略.Range是对每个Topic而言的(即一个Topic一个Topic分),首先对同一个Topic里面的分区按照序号进行排序,并对消费者按照字母顺序进行排序.然后用Partitions分区的个数除以消费者线程的总数来决定每个消费者消费几个分区.如果除不尽,那么前面几个消费者线程将会多消费一个分区.R...原创 2019-07-09 18:45:42 · 2304 阅读 · 0 评论 -
MapReduce的Shuffle过程
Shuffle机制1.Map方法之后Reduce方法之前这段处理过程叫Shuffle.2.Map方法之后,数据首先进入到分区方法,把数据标记好分区,然后把数据发送到环形缓存区;环形缓冲区默认大小100m,环形缓冲区达到80%时,进行溢写;溢写前对数据进行排序,排序按照对key的索引进行字典顺序排序,排序的手段快排;溢写产生大量溢写文件,需要对溢写文件进行归并排序;对溢写的文件也可以进行Comb...原创 2019-07-09 18:13:53 · 126 阅读 · 0 评论 -
YARN
YARNYarn是一个资源调度平台,负责为运算程序提供服务运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序.Yarn基本架构YARN主要由ResourceManager/NodeManager/ApplicationMaster和Container等组件构成调度器定义,区别-ppHadoop调度器重要分为三类:FI...原创 2019-02-16 08:33:26 · 170 阅读 · 0 评论 -
Kafka
Flume缺点:1.数据都保存在内存中,数据容易丢失.2.增加消费者不容易.3.数据无法长时间保留. eg:微信的聊天记录保存功能 保存策略缺点数据无法长期保存,客户如果想延迟获取做不到增加消费者,OCP(开发原则)[Open Closed Principle 开闭原则,是Java世界里最基础的设计原则,简单来说就是对添加开放,对修改关闭]重复消费-----------内...原创 2019-02-15 08:13:30 · 545 阅读 · 0 评论 -
Zookeeper
Zookeeper概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目.Zookeeper=文件系统+通知机制Zookeeper工作机制Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookee...原创 2019-02-14 17:22:53 · 124 阅读 · 3 评论 -
Zookeeper面试题
Zookeeper是什么框架分布式的、开源的分布式应用程序协调服务,原本是Hadoop、HBase的一个重要组件。它为分布式应用提供一致性服务的软件,包括:配置维护、域名服务、分布式同步、组服务等。应用场景Zookeeper的功能很强大,应用场景很多,结合我实际工作中使用Dubbo框架的情况,Zookeeper主要是做注册中心用。基于Dubbo框架开发的提供者、消费者都向Zookeeper注册...转载 2019-02-14 17:16:19 · 189 阅读 · 0 评论 -
sparkstreaming读取kafka的两种方式
spark streaming提供了两种获取方式,一种是同storm一样,实时读取缓存到内存中;另一种是定时批量读取。这两种方式分别是:Receiver-baseDirect一 、Receiver-base:Spark官方最先提供了基于Receiver的Kafka数据消费模式。不过这种方式是先把数据从kafka中读取出来,然后缓存在内存,再定时处理。如果这时候集群退出,而偏移量...转载 2019-02-14 15:15:04 · 258 阅读 · 0 评论 -
Spark基础解析
什么是SPark定义:Spark是一种基于内存的快速/通用/可扩展的大数据分析引擎.Spark内置模块Spark Core:实现了Spark的基本功能,包含任务调度/内存管理/错误恢复/与存储系统交互等模块.Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义.Spark SQL:是Spark用来操作结构化数...原创 2019-02-14 14:10:40 · 247 阅读 · 0 评论 -
Spark内核解析-Markdown版
Spark历史:Hadoop:2006 1.x (有问题) --> 2.x (2.2.0)出现时间(2013.10) -->Spark出现时间(2013.4)计算框架YarnRM:ResourceManager主要作用:处理客户端请求监控NodeMana...原创 2019-02-14 11:18:35 · 316 阅读 · 0 评论 -
Spark 内存管理
堆内和堆外内存规划作为一个JVM进程,Executor的内存管理建立在JVM的内存管理之上,Spark对JVM的堆内(On-heap)空间进行了更为详细的分配以充分利用内存.同时,Spark引入了堆外(Off-heap)内存,使之可以直接在工作节点的系统内存中开辟空间,进一步优化了内存的使用.堆内内存受到JVM统一管理,堆外内存是直接向操作系统进行内存的申请和释放....原创 2019-02-13 18:52:41 · 138 阅读 · 0 评论 -
Spark Shuffle解析
ShuffleMapStage与ResultStage在划分stage时,最后一个stage称为finalStage,它本质上是一个ResultStage对象,前面的所有stage被称为ShuffleMapStage.ShuffleMapStage的结束伴随着shuffle文件的写磁盘.ResultStage基本上对应代码中的action算子,即将一个函数应用在RDD的各个partition...原创 2019-02-13 13:58:28 · 173 阅读 · 0 评论 -
SparkSQL
什么是Spark SQLSpark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame和DataSet,并且作为分布式SQL查询引擎的作用.原创 2019-02-12 14:01:46 · 146 阅读 · 0 评论 -
Flume
栈溢出 --&amp;amp;amp;gt;递归栈内存溢出 --&amp;amp;amp;gt;给栈空间分配的内存不够(多线程,线程太多,导致内存不够分配)内存分配:java虚拟机当有一个线程过来,就会分配一个栈内存分布式集群服务器的负载均衡客户端负载均衡(客户端自己做负载均衡)Zookeeper的作用就是注册中心,绑定地址...原创 2019-02-09 13:28:39 · 279 阅读 · 0 评论