自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

踏云追月

有时累了想休息下,可是脚步停不下来

  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 flink mysql cdc到kafka

思路:1、创建flink mysql cdc表2、将order join products的结果写入到kafka表中。这样就相当于完成了,DWD中的事实表构建。写入到kafka中,等待消费构建DWS或者ADS。主要参考https://ververica.github.io/flink-cdc-connectors/master/content/快速上手/index.html安装flink1.3.5启动单机版 flink./bin/start-cluster.sh启动flink

2022-01-13 09:54:57 7379

原创 Flink1.11.1写入iceberg0.11.1验证

flinksql写入iceberg验证,包含kafka写入iceberg等。

2022-01-13 09:48:46 1832

原创 大数据生态浅谈

最近由于换工作,抽时间整理了下大数据整体知识点及一些重点问题的思考,通过这篇文章和大家一起探讨下一些问题。我们先来看一下我整理的这张图,图中内容是粗浅分类,不必过多在意是否归属正确。问题1:CDH、HDP闭源后,开源大数据平台的稳定性和注意事项? 我个人前后给多加公司搭建了多套大数据平台,都是基于apache hadoop生态,所以CDH、HDP的闭源对我来说是好事情,让自己的经验更加宝贵,我一直坚持开源组件主要是开源组件的搭配灵活性更高,可以根据自己需求替换或升级某些组件。...

2021-12-03 12:26:17 1689

原创 spark structure streaming

国内关于flink的demo较多,我是工作中选择的是spark structure streaming,watermark、append模式、update模式、检查点、sink、source基本都有涵盖。下面的示例主要讲的是消费kafka的数据,根据不同的维度计算度量值。package cn.swiftpass.spark.streaming;import org.apache.spark.sql.Dataset;import org.apache.spark.sql.Row;import o

2020-09-14 00:23:49 567

原创 kerberos关键知识点

参考以下资料,及《OReilly.Architecting.Modern.Data.Platforms》https://www.cnblogs.com/wn1m/p/10700466.htmlhttps://www.jianshu.com/p/fc2d2dbd510bhttps://help.aliyun.com/document_detail/89886.html?spm=a2c4g.11186623.4.1.37a6b019HkcGLQkerberos是一个网络通信身份认证,包含u.

2020-09-14 00:10:29 829

原创 零拷贝

本文原自知乎文章总结,建议大家看原文。https://zhuanlan.zhihu.com/p/83398714这是正常的非零拷贝,需要四次复制:传统的数据IO传输分为两部分,读操作和写操作:基于传统的 I/O 读取方式,read 系统调用会触发 2 次上下文切换,1 次 DMA 拷贝和 1 次 CPU 拷贝,发起数据读取的流程如下: 用户进程通过 read() 函数向内核(kernel)发起系统调用,上下文从用户态(user space)切换为内核态(kernel spa..

2020-09-14 00:07:25 267

原创 zookeeper知识点

https://zhuanlan.zhihu.com/p/24996631https://www.cnblogs.com/raphael5200/p/5285583.htmlzk=注册监听通知+文件系统注册监听通知客户端注册监听它关心的目录节点,当目录节点发生变化,如数据改变,被删除,子目录节点增加删除时,zk会通知客户端。这时客户端就可以根据传过来的信息采取一系列的操作。文件系统zk维护一个如下图的文件结构1、每个子目录项如NameService都被称为znode,有四种类

2020-09-14 00:05:47 458

原创 kafka知识点

kafka要点 创建一条记录,记录中一个要指定对应的topic和value,key和partition可选。 先序列化,然后按照topic和partition,放进对应的发送队列中。 kafka,从逻辑上划分,分为多个topic,每个topic由一个或多个partition组成,多个partition分布在不同的机器上,每个partition都有自己的1个或多个备份,每组partion都有一个leader负责接收信息,其他的follower负责复制信息,每个partition内部的记录是有序

2020-09-14 00:04:53 265

原创 HDFS知识点

初始化注册:当Datanode启动或重启时,将向NameNode进行注册,告知NameNode其可以处理HDFS的读写操作。 周期性心跳:所有的DataNode周期性(默认是每3秒)地向NameNode发送包含该节点使用统计的心跳信息,让NameNode知道DataNode活着。NameNode收到心跳后会给DataNode一个返回值,这个返回值里就包含对DataNode的指令,比如将数据块复制到另外一台节点上或删除某个块。一个DataNode如果超过10分钟没有发送心跳,此时NameNode..

2020-09-10 16:22:41 367

原创 hadoop文件格式

按行存储:sequenceFile、mapfile、avro sequenceFile:hadoop api提供的一种二进制文件,数据以<key,value>的形式序列化到文件中。不是很常用,一般用来合并小文件。 mapfile:带索引的sequenceFile avro:数据序列化框架,类似protocol buffers,thrift,avro有自己的文件格式.avro结尾,avro依赖shema实现数据结构定义。avro类似于序列文件,但是sequenceFile

2020-09-10 16:21:20 385

原创 hadoop集群部署之benchmark

当我们部署完一个新的集群,或者对集群做了升级,或调整集群中的性能参数后,想观察集群性能的变化,那么我们就需要一些集群测试工具。hadoop自带测试包,在这个测试包下我们也看到了很多测试工具,其中DFSCIOTest、mrbench、nnbench应用广泛。$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.7.3.jarAn example program must be given as the

2020-09-10 16:19:02 447 1

原创 hadoop集群安装部署之操作系统调优

部署hadoop之前对操作系统的修改:1.disable 磁盘的access time 这个将显著提升磁盘IO:https://www.cnblogs.com/sunss/archive/2010/09/09/1822300.html2.对于非系统磁盘,设置不给系统盘保留磁盘空间:#set space during file system creation$mkfs.ext3 -m 0 /dev/sdb#or tune the filesystem afterwards..

2020-09-10 16:18:25 509 1

原创 hadoop集群安装部署之硬件选择

1、不可选择刀片服务器,因为他们与其他服务器共享资源,当刀片服务器机箱出现故障时,将导致几个DataNode不可用。而且刀片服务器的磁盘和RAM容量太低,无法支持大量的处理。2、选择x86架构的机架式服务器。通常一个机架可安置18-20台机架式服务器。所以对我们小集群而言一台机架即可。机架中配备一对10GbE交换机,对于大集群只需扩展机架即可。对于中、大集群的网络配置在《OReilly.Architecting.Modern.Data.Platforms》书中的network篇章有详细介绍。另外对于

2020-09-10 16:17:08 1242

原创 免匙SSH登录失败问题(非常规)

问题描述:上周给公司搭建大数据平台,选取三台机器,安装配置一切顺利。后来发现/home目录的挂载盘容量不够用,所以就扩容了,在扩容之前将/home/hadoop文件夹复制到其他地方,扩容后再复制回来,现在问题来了,hadoop文件夹迁移回来后,发现免匙SSH无用了。问题排查:1.检测权限chmod 600 ~/.ssh/authorized_keyschmod 70

2017-05-31 10:43:51 4307

原创 es通过JDBC导数测试

硬件环境: 1、mac 10.12 2、8G内存、256G SSD 3、2.4GHz I5测试数据 50G CSV格式 每行6个字段测试一:使用es默认配置 es版本2.3.4 es-jdbc版本2.3.4.0 通过es-jdbc方式耗时40小时+ 索引建立完成12亿+ 索引所占空间为52G左右测试二:使用es默认配置 es版本5.3.0 logstash版本5.3.1 通

2017-05-10 09:19:47 1177

原创 新版flume+kafka+storm安装部署

去年写了篇flume+kafka+storm的文章,最近重新回顾发现改动挺大的,就重新整理这篇文章。希望能帮上大家。架构图、组件介绍就不重复了,这篇文章重点将如何安装部署。需要源码的请留言。顺便打个广告:大数据工作室接活我们的团队leader是北京某金融公司的大数据负责人,带过hadoop spark impala storm等多个银行项目。团队成员现就职HP,vmware等企业。

2015-08-27 16:43:43 4979 58

原创 调试spark源码

目标:可以在spark源码内打断点调试,比如我们可以看flatMap方法内部运行。环境:spark 1.4intellij ideamac os第一步:下载spark源码url:http://spark.apache.org/downloads.html第二步:编译spark进入下载好的spark的根目录执行:./sbt/sbt gen-idea

2015-06-22 20:17:41 1172

原创 spark常用RDD介绍及Demo

Transformation:map(func): Return a new distributed dataset formed by passing each element of the source through a function func.val list=sc.parallelize(List(('a',1),('a',2),('b',3),('b',4)))

2015-06-02 20:47:18 1422

原创 MapReduce之自定义partitioner

partitioner定义:partitioner的作用是将mapper(如果使用了combiner的话就是combiner)输出的key/value拆分为分片(shard),每个reducer对应一个分片。默认情况下,partitioner先计算key的散列值(通常为md5值)。然后通过reducer个数执行取模运算:key.hashCode%(reducer个数)。这种方式不仅能够随机地将

2015-02-02 10:59:54 1130

原创 MapReduce之distinct

适用场景:当我们希望去除数据集中的重复数据或者某些字段重复的数据就可以使用这个模式。结构:这个模式使用了MapReduce框架的功能,将相同的key分组到一起来实现去重。这个模式使用mapper做数据的转换,在reducer中不需要做太多工作。在这个模式中可以使用combiner,如果有大量重复的数据,combiner将非常有用。重复的记录在数据集中经常会相对邻近,因此comb

2015-01-29 19:35:39 2811 1

原创 MapReduce之topN

适用场景:1.这个模式需要一个比较两条记录的比较函数。也就是说,我们必须得通过比较确认两条记录中哪一个更大一些。2.输出记录数相对于输入记录数将会是异常的小,否则获得整个数据集的全排序将会更有意义。结构:这个模式同时使用了mapper和reducer。mapper任务找出其本地的top K,然后所有独立的top K集合在reducer中做最后的top K运算。因为在mapp

2015-01-29 15:38:07 6282 1

原创 布隆过滤器

目的:过滤器使我们可以保留属于某个预定义值集合的记录。如果输出的结果有小的误判也不会是问题(只可能误判,绝不会漏判,失误率取决于hash算法),因为我们会在后续的操作中做进一步的检查。这里的预先确定的值列表称为热门值(hot values)集合。对每条记录抽取其中一个特征。如果抽取的特征是布隆过滤器中所表示的值集合的成员,则保留这条记录;否则丢弃这条记录(或者做相反的处理)。适用场景:

2015-01-29 10:02:26 1092

原创 mapreduce实现倒排索引

目的:产生一个数据集的索引以便提供更快的搜索或数据丰富能力。动机:对大的数据集建立一个关键字的索引,通常可以方便通过指定关键字搜索到其包含特定值的对应记录。尽管创建倒排索引的过程需要预先进行额外的处理,但花费时间做预处理可以极大地缩减查询时所需要的时间。适用场景:倒排索引通常用在需要快速搜索查询响应的场景。可以对一个查询的结果进行预处理并存入数据库中。

2015-01-27 20:59:28 1202

原创 多个mapreduce连接实例

将reduce端连接的Map/Reduce结果作为wordCount 的map输入源:package com.mr.multiMapReduce;import java.io.IOException;import org.apache.hadoop.examples.WordCount;import org.apache.hadoop.fs.FileSystem;import or

2014-12-25 17:28:15 1026

原创 hadoop MapReduce 三种连接

为了实现内连接和外连接,MapReduce中有三种连接策略,如下所示。这三种连接策略有的在map阶段,有的在reduce阶段。它们都针对MapReduce的排序-合并(sort-merge)的架构进行了优化。重分区连接(Repartition join)——reduce端连接。使用场景:连接两个或多个大型数据集。复制连接(Replication join)——map端连接。使用场景:待

2014-12-25 17:22:49 1166

原创 使用Hive处理WordCount

一.在Hive中创建存放要处理的数据的表$hive> create table textlines(line string)导入数据:$hive> load data inpath ’tmp/input’ overwrite into table textlines;如果想从本地导入,可以使用这个load data local inpath '...',这里的就会是这样的/

2014-12-25 17:12:49 4320 1

原创 在eclipse中开发hadoop MapReduce

一.安装hadoop for eclipse的插件,注意:插件版本要和hadoop版本一致。下载:hadoop-eclipse-plugin-2.5.2.jarhttp://download.csdn.net/detail/tondayong1981/8186269将hadoop-eclipse-plugin-2.5.2.jar文件放到ECLIPSE_HOME/plugins下,重启e

2014-12-19 13:52:34 1274

原创 MySql安装及集成Hive手册

版本:my5.6.22-1.linux64一.安装Mysql1 判断centos上是否有安装,执行命令rpm -qa |grep mysql2 如果已经安装,需要删除原有的,防止冲突,执行命令$ rpm -e  mysql-libs-5.1.66-2.el6_3.i686  --nodeps3 安装mysql的服务端,执行命令$rpm -i MySQL-se

2014-12-18 16:58:49 779

原创 Hive安装手册

HIVE版本:0.14.01.解压并重命名hive把apache-hive-0.14.0.bin.tar复制到/usr/hadoop/#cd /home/hadoop/#tar -xvf apache-hive-0.14.0.bin.tar#mv apache-hive-0.14.0.bin hive2.设置hive环境变量#vi /etc/profileexpor

2014-12-18 16:57:44 948

原创 Hbase安装手册

HBASE版本: hbase-0.98.61.解压并重命名hbase解压hbase-0.98.6-hadoop2.tar.gz到/home/hadoop/目录下$tar -zxvf hbase-0.98.6-hadoop2.tar.gz /home/hadoop/$mv hbase-0.98.6-hadoop2 hbase-0.98.62.给hbase设置JAVA_HOME

2014-12-18 16:56:40 723

原创 Hadoop yarn完全分布式安装笔记

版本及配置简洁Java:   JDK1.7.0_71Hadoop: hadoop-2.5.2Linux:  centos6.4 64bit暂且配置3台机器,假设三台机器IP如下:192.168.40.138 master192.168.40.137 slave-1192.168.40.136 slave-2一.前置环境配置1.创建hadoop用户以下

2014-12-18 16:55:36 1450

原创 实时计算,流数据处理系统简介与简单分析

实时计算,流数据处理系统简介与简单分析一.   实时计算的概念实时计算一般都是针对海量数据进行的,一般要求为秒级。实时计算主要分为两块:数据的实时入库、数据的实时计算。主要应用的场景:1) 数据源是实时的不间断的,要求用户的响应时间也是实时的(比如对于大型网站的流式数据:网站的访问pv/uv、用户访问了什么内容、搜索了什么内容等,实时的数据计算和分析可以动态实时地刷新用户访问数

2014-03-09 01:38:36 5886 1

原创 flume+kafka+storm+mysql架构设计

架构图实时日志分析系统架构简介系统主要分为四部分:                       1).数据采集负责从各节点上实时采集数据,选用cloudera的flume来实现2).数据接入由于采集数据的速度和数据处理的速度不一定同步,因此添加一个消息中间件来作为缓冲,选用apache的kafka3).流式计算

2014-03-09 00:55:35 15743 234

原创 clojure开发利器-light table安装使用

一 安装JDK二 安装leiningen,配置环境变量。将leiningen的bin路径追加到Path中:C:\Users\ebaoluo\.lein\binleiningen的官网下载地址:http://leiningen-win-installer.djpowell.net/如果无法下载,我在下面地址为大家上传了一份:http://download.cs

2014-03-08 04:39:27 6356

原创 clojure学习笔记(更新中)

今天是学习clojure的第一天。本人学习clojure的三个原因:一 前不久学习的storm是用clojure写的,为了加深学习,读懂源码不得不学习。二 本人主搞java,clojure和java息息相关(原因不在这里啰嗦了)三 一直想学一门函数语言。好了,我们开始了。在我们开始学习clojure语言之前,先选一个自己喜欢的ide吧,本人在尝试intellij失败

2014-03-05 23:28:13 2545

原创 python学习笔记(二)更新中

数据结构:序列1。python包含6中内建的序列:列表,元组,字符串,Unicode字符串,buffer对象,xrang对象。序列是一种数据结构,它包含的元素都进行了编号(从0开始)。典型的序列包括列表、字符串、元组。其中列表是可变的,而元组和字符串是不可变。列表和元组的区别是列表可修改,元组不能修改,绝大部分情况下列表可以代替元组(用元组作为字典的K时不行,K不能修改),。列

2014-03-05 22:35:51 1092

原创 python学习笔记(一)

一 基本概念1. 常量动态语言,可在运行中随时改变变量类型可强制类型转换>>>a=1.8>>>b=int(a)>>>print b           #并不是四舍五入12. 数整数长整数浮点数复数 0.0+0.0j 互动作业:复数的使用和表示法虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起来构成一个复数。

2014-03-05 22:33:07 1263

spark知识点整理.docx

自己整理的大数据spark技术要点,基本都是面试会问到的。至少我招聘大数据工程师的时候,都会围绕这些问题来问。

2020-09-11

leiningen-installer

leiningen 的安装文件,由于它的官网我无法下载,后来从其他地方搜到该工具,因此在这里提供给大家,方便大家下载。

2014-03-08

空空如也

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

TA关注的人

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