5 野狼e族

尚未进行身份认证

忙是一种好事

等级
TA的排名 4w+

Mysql 实时同步到大数据数仓

如何能够做到数据的实时同步呢?我们想到了MySQL主从复制时使用的binlog日志,它记录了所有的 DDL 和 DML 语句(除了数据查询语句select、show等),以事件形式记录,还包含语句所执行的消耗时间下面来看一下MySQL主从复制的原理,主要有以下几个步骤: master(主库)在每次准备提交事务完成数据更新前,将改变记录到二进制日志(binary log)中 sla...

2019-11-15 19:09:04

Mqtt Qos 深度解读

1.QoS含义 :Quality of Service,服务质量2.作用域发布者的Qos订阅者的Qos3.等级与作用level 0:最多一次的传输level 1:至少一次的传输,(鸡肋)level 2: 只有一次的传输4.交互过程qos0对于qos1而言,对于client而言,有且仅发一次publish包,对于broker而言,有且仅发一次publish...

2019-09-29 16:58:34

分组消费的再平衡策略

从kafka消费消息,kafka客户端提供两种模式:分区消费,分组消费。分区消费对应的就是我们的DirectKafkaInputDStream分组消费对应的就是我们的KafkaInputDStream消费者数目跟分区数目的关系:1),一个消费者可以消费一个到全部分区数据2),分组消费,同一个分组内所有消费者消费一份完整的数据,此时一个分区数据只能被一个消费者消费,而一个消费者...

2019-09-29 16:56:24

为什么 Kafka 速度那么快?

Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率。即使是普通的服务器,Kafka也可以轻松支持每秒百万级的写入请求,超过了大部分的消息中间件,这种特性也使得Kafka在日志处理等海量数据场景广泛应用。针对Kafka的基准测试可以参考,Apache Kafka基准测试:每秒写入2百...

2019-09-29 14:41:11

Hive中Join的原理和机制

Hive中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join)。本文简单介绍一下两种join的原理和机制。Hive Common Join如果不指定MapJoin或者不符合MapJoin的条件,那么Hive解析器会将Join操作转换成Common Join,即:在Reduce阶段完成join.整个过程包含Map、Sh...

2019-09-29 13:43:02

fsimage与editlog详解

1 概述HDFS中的NameNode被称为元数据节点DataNode称为数据节点。NameNode维护了文件与数据块的映射表以及数据块与数据节点的映射表,而真正的数据是存储在DataNode上。对于NameNode如何存储这些信息,它维护两个文件,一个是fsimage,一个是editlog。2 fsimage与editlog作用fsimage保存了最新的元数据检查点,在HDFS启...

2019-09-29 13:26:09

HDFS 基本原理

随着互联网的发展,数据日益增多,增长超过了单机能够处理的上线,数据如何存储和处理成为了科技公司的难题,随着google的三篇论文的发布,大家终于找到了一个方案-分布式文件系统+MapReduce。Hadoop是参考google论文实现的,集成了分布式文件系统与分布式批处理平台。hadoop的设计目标是用来解决大文件海量存储和批处理的,为了避免单个节点故障导致数据丢失,设计副本冗余机制。 本文将主要...

2019-09-29 11:53:04

Airflow介绍

主要功能 使用Python代码动态生成DAG,可以做到更加灵活的配置和某种意义上的简单配置DAG。 丰富的Operator、Hook,支持非常多的第三方组件,能满足多种需求。 支持Apache Atlas,实现数据追踪。 具有方便的任务失败重试功能,及任务失败时自动发送报警邮件通知。 功能较为完善,支持命令行操作,以及REST请求触发DAG。 ...

2019-09-29 11:00:21

BashOperator实例

特别注意:bash_command 命令后需要添加一个 空格,否则会报错# -*- coding: utf-8 -*-from datetime import timedeltaimport airflowfrom airflow import DAGfrom airflow.operators.bash_operator import BashOperatordefault_a...

2019-09-29 10:59:32

Airflow PythonOperator、BashOperator以及Xcom使用

需求:外界传入参数,PythonOperator 根据参数查询数据库得出结果, BashOperator 根据pythonOperator查询的结果当作参数去打包下载HDFS 的 文件。分析:(1)provide_context=True : 外界传参数,需要使用PythonOperator 的provide_context=True 来获取外界参数。provide_context 默认...

2019-09-29 10:56:06

Spark RDD上的map operators是如何pipeline起来的

问题 :作用在一个RDD/DataFrame上的连续的多个map是在对数据的一次循环遍历中完成的还是需要多次循环?回答:不需要多次循环,spark会将多个map操作pipeline起来apply到rdd partition的每个data element上。我们从DAGScheduler的submitStage方法开始,分析一下map operators(包括map, filter, flatM...

2019-03-28 21:25:05

spark 广播变量的设计和实现

spark 官网上对 广播变量的描述Broadcast variables allow the programmer to keep a read-only variable cached on each machinerather than shipping a copy of it with tasks. They can be used, for example, to give ev...

2019-03-28 21:18:59

sparksql执行流程分析

Spark sql是spark内部最核心,也是社区最活跃的组件。Spark SQL支持在Spark中执行SQL,或者HiveQL的关系查询表达式。列式存储的类RDD(DataSet/DataFrame)数据类型以及对sql语句的支持使它更容易上手,同时,它对数据的抽取、清洗的特性,使它广泛的用于etl,甚至是机器学习领域。因此,saprk sql较其他spark组件,获得了更多的使用者。...

2019-03-28 21:12:17

Processor | InvokeScriptedProcessor 使用

作用:可以自定义组件, 以下是模拟 LookupAttrbution 的功能.from org.apache.nifi.processor import Processorfrom org.apache.nifi.processor import Relationshipfrom org.apache.nifi.components import PropertyDescriptorf...

2019-01-01 15:42:28

Nifi的主要优缺点

Nifi的主要优点有:A.可视化的UI界面,各个模块组件之间高度可配置,且每个流程都有监控,可以通过界面直观的看到各个数据处理模块之间的数据流转情况,分析出程序性能瓶颈。B.数据流可以在UI界面自由拖拽和拓展,各模块之间相互独立,互不影响。C.可以在处理耗时的地方创建多个处理模块并行执行,提升处理速度。类似于代码中加入了多线程,但相对于修改代码,界面配置操作十分简单。D.修改方便,...

2019-01-01 15:38:47

PythonOperator、BashOperator以及Xcom使用

 需求:外界传入参数,PythonOperator 根据参数查询数据库得出结果, BashOperator 根据pythonOperator查询的结果当作参数去打包下载HDFS 的 文件。分析:(1)provide_context=True : 外界传参数,需要使用PythonOperator 的provide_context=True 来获取外界参数。 provide_context...

2019-01-01 15:37:23

Airflow安装

1、#指定airflow 的home 目录export AIRFLOW_HOME=~/airflow2、#使用pip 安装apache-airflowpip install apache-airflow3、#初始化元数据库airflow initdb4、#开启web server服务,并指定访问端口为8080airflow webserver -p 8080...

2019-01-01 15:32:47

Innodb与Myisam引擎的区别与应用场景

1. 区别:(1)事务处理:MyISAM是非事务安全型的,而InnoDB是事务安全型的(支持事务处理等高级处理);(2)锁机制不同:MyISAM是表级锁,而InnoDB是行级锁;(3)select ,update ,insert ,delete 操作:MyISAM:如果执行大量的SELECT,MyISAM是更好的选择InnoDB:如果你的数据执行大量的INSERT或UP...

2018-07-31 22:08:42

mysql数据库分表及实现

项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。    当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性能。    我们可...

2018-07-31 22:08:11

Zookeeper在Kafka中的应用

简介Kafka使用zookeeper作为其分布式协调框架,很好的将消息生产、消息存储、消息消费的过程结合在一起。同时借助zookeeper,kafka能够生产者、消费者和broker在内的所以组件在无状态的情况下,建立起生产者和消费者的订阅关系,并实现生产者与消费者的负载均衡。 从拓扑结构看kafka与zookeeper的关系:在典型的Kafka集群中, Kafka通过Zookee...

2018-07-31 21:59:12

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。