自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鹜骜的博客

22岁30年开发经验

  • 博客(21)
  • 收藏
  • 关注

原创 [ETL] 数据质量

前言面试官:看你写 有参与过数据清洗ETL之类的工作? 讲讲你这个项目中数据质量是怎么做的:啥数据质量?GG概念数据质量是一种通过测量和改善数据综合特征来优化数据价值的过程。是通过数据收集 、数据识别/匹配 、数据标准化 、数据清理和数据聚集来实现数据质量。由于数据仓库对数据的要求比较严格。错误的数据不仅会带来数据仓库自身维护的高昂费用 ,而且更重要的是会导致制定糟糕的决策。数据质量问...

2020-04-30 20:35:00 946

原创 [big data] 数仓

定义一个数据仓库通常是一个面向主题 的(subject— oriented)、集成的 (integrated)、相对稳定 的(non—volatile)、反映时间变化的 (time—variant)数据集合 ,它 是建立决策支持系统 (Dss)的数据基础 。数据仓库有如下 4个特征 :(1)面向主题的.所谓 主题 ,是指用户使 用数据仓库进行决 策时所关心 的重点方面 ,如销售情况 ,人事情...

2020-04-30 16:35:36 591

原创 [hive] 你怎么连 select * 都整不明白?

前言:hive将hql语句经过解析器,编译器,优化器,执行器变成可执行的mapreduce程序,balabala…又一顿mapreduce运行过程给面试官讲完之后面试官:小伙子理论不错。那比如一个简单的hql语句select x from x1 join 一下 x2 group by ,这条语句对应到mr是在哪个阶段干活具体又是怎么处理的。我又GG了 只背理论,理解不深入...

2020-04-30 14:51:56 552 1

原创 [Java] 锁

一谈线程就谈锁面试官:锁有了解过?悲观锁乐观锁:具体点呢?GG开始补吧乐观锁每次去拿数据的时候都认为别人(其他线程)不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据。乐观锁适用于多读的应用类型,这样可以提高吞吐量实现方式:CAS乐观锁缺点:悲观锁每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻...

2020-04-30 13:41:10 249

原创 CurrentHashMap

由于HashMap是线程不同步的,虽然处理数据的效率高,但是在多线程的情况下存在着安全问题,因此设计了CurrentHashMap来解决多线程安全问题。HashMap在put的时候,插入的元素超过了容量(由负载因子决定)的范围就会触发扩容操作,就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下,存在同时其他的元素也在进行put操作,如果hash值相同,可能出...

2020-04-17 13:09:07 624

原创 hive常用参数调优

hive.map.aggr决定是否可以在 Map 端进行聚合操作hive.groupby.skewindata开启数据倾斜时的负载均衡mapred.reduce.tasks设置所提交 Job 的 reduer 的个数hive.mapjoin.cache.numrowsHive Map Join 所缓存的行数。hive.exec.mode.local.auto决定 Hive 是否应...

2020-04-15 22:45:18 293

原创 hive数据倾斜

造成数据倾斜的原因:key 分布不均匀业务数据本身的特性建表考虑不周全某些 HQL 语句本身就存在数据倾斜产生数据倾斜的业务场景1.空值产生的数据倾斜在日志中,常会有信息丢失的问题,比如日志中的 user_id,如果取其中的 user_id 和用户表中的 user_id 相关联,就会碰到数据倾斜的问题。解决方案 1:user_id 为空的不参与关联select * from lo...

2020-04-15 22:21:34 400

原创 Hive与数据库比较 & hive中4个By的比较

Hive 和数据库比较Hive 和数据库除了拥有类似的查询语言,再无类似之处。1数据格式:hive数据格式可以用户自定义,mysql有自己的系统定义格式;2数据规模:hive存储的数据量超级大,而mysql只是存储一些少量的业务数据;3数据存储位置:Hive 存储在 HDFS 。数据库将数据保存在块设备或者本地文件系统中。4数据更新 :Hive 中不建议对数据的改写。而数据库中的数据通...

2020-04-15 15:20:16 1172

原创 Yarn工作机制,三种调度器

hadoop的三种调度器FIFO(先进先出调度器) 、Capacity Scheduler(容量调度器)和 Fair Sceduler(公平调度器)。FIFO先进先出调度器,同一时间队列中只有一个任务在执行。Capacity Scheduler容量调度器:多队列;每个队列内部先进先出,同一时间队列中只有一个任务在执行。队列的并行度为队列的个数。(默认调度器)Fair Schedule...

2020-04-15 14:51:48 1769

原创 MR优化 & hadoop参数调优

优化小文件所谓小文件,就是单个文件的size小于blockSize。HDFS 小文件影响(1)影响 NameNode 的寿命,因为文件元数据存储在 NameNode 的内存中(2)影响计算引擎的任务数量,因为每个小的文件都会生成一个 Map 任务数据输入小文件处理:(1)合并小文件:对小文件进行归档(Har)、自定义 Inputformat 将小文件存储成SequenceFile 文...

2020-04-15 12:57:36 429

原创 org.apache.spark.sql.AnalysisException: Table or view not found:

ratingDF.createGlobalTempView("ratings")// 全局临时视图绑定到系统保留的数据库global_tempselect * from global_temp.ratings

2020-04-11 17:00:21 1497

原创 java.lang.NoSuchMethodError: scala.Product.$init$(Lscala/Product;)V

作者场景:在使用scala和spark操作mongoDB时代码报错java.lang.NoSuchMethodError: scala.Product.initinitinit(Lscala/Product;)V首先看到 V 知道是版本错误网上查找后说spark和scala版本不对应。但是在maven查找发现作者使用的scala2.11.8和spark2.1.1是不冲突的解决:最后问题...

2020-04-11 16:47:41 5449 1

原创 flume整合kafka

为什么要用flume对接kafka生产环境增量数据多都是日志文件选用flume更好的达到实时监控加入kafka的作用:可以对接多个业务线(将数据分类发送到不同topic)也可以动态增加业务线,不用增加备份(解耦)案例一:用netcat,kafkasink达到简单对接1.flume配置文件a1.sources = r1a1.sinks = k1a1.channels = c1#sou...

2020-04-09 16:01:20 258

原创 mysql 索引

什么是索引:索引是有序的快速查找数据结构索引作用:使得while后面的查找和order by高效索引的缺点时间方面:创建索引和维护索引要耗费时间,具体地,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,会降低增/改/删的执行效率;空间方面:索引需要占物理空间。索引有哪几种类型?主键索引: 数据列不允许重复,不允许为NULL,一个表只能有一个主键。**唯一索引:**...

2020-04-08 22:16:11 207

原创 kafka笔记五 API

文章目录dependenciesProducerConsumer自定义分区的ProducerKafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和Sender 线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 Record...

2020-04-07 23:46:58 184

原创 kafka笔记四 事务 高效读写

kafka事务Kafka 从 0.11 版本开始引入了事务支持。事务可以保证 Kafka 在 Exactly Once 语义的基础上,生产和消费可以跨分区和会话,要么全部成功,要么全部失败。Producer 事务为了实现跨分区跨会话的事务,需要引入一个全局唯一的 Transaction ID(客户端给定的),并将 Producer获得的PID 和Transaction ID 绑定。这样当Pr...

2020-04-07 22:52:51 255

原创 kafka笔记三 工作流程 生产者 消费者

文章目录kafka工作流程kafka文件存储机制kafka生产者分区策略分区的原则ISR数据可靠性ack的参数设置故障处理 (一致性问题)幂等性消费者消费方式分区分配策略offset的维护kafka工作流程kafka中的数据只能保证分区内有序,不能保证全局有序topic是逻辑上的概念,而partition是物理上的概念,可以在本地看见真实的目录kafka文件存储机制由于生产者生产的消息会...

2020-04-06 20:09:54 546

原创 kafka笔记二操作

kafka常用命令操作:提示:首先需要启动kafka服务,启动kafka服务之前要启动zk查看当前服务器中所有的topic./kafka-topics.sh --list --zookeeper 192.168.56.20:2181创建topic./kafka-topics.sh --create --zookeeper 192.168.56.20:2181 --topic first...

2020-04-05 15:17:24 257

原创 kafka笔记一基础

定义Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。kafka作用:1.解耦允许独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2.可恢复性系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。3.缓冲有...

2020-04-05 15:05:29 152

原创 flume笔记二事务拓扑结构

flume事务flume传输流程注释:source收集数据有很多来源 也可以自己写代码监控实时 jdbc数据源拦截器链作用:可以实现解耦 复用 灵活性高一个source可以绑定多个channel ,所以一个事件具体给哪一个channel 就交给channel选择器副本选择器 Rep 发给所有channel多路选择器 Mul 需要指定绑定策略#Replicating Channel...

2020-04-05 03:28:33 190

原创 Flume笔记一基础

FlumeFlume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统, Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。架构运行机制:Flume 的核心是把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定...

2020-04-04 01:01:54 244

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除