自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

君永夜

大数据生产以及学习知识分享

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

原创 ClickHouse(3)-企业应用最佳实战

1 ClickHouse适用场景当场景满足如下大部分场景时,即可调研尝试使用ck。01、绝大多数请求都是用于读访问,而且不是单点访问02、数据需要以大批次(大于1000行)进行更新,而不是单行更新;或者根本没有更新操作03、数据只是添加到数据库,没有必要修改04、读取数据时,会从数据库中提取出大量的行,但只用到一小部分列05、表很“宽”,即表中包含大量的列06、查询频率相对较低(通常每台服务器每秒查询数百次或更少)07、对于简单查询,允许大约50毫秒的延迟08、列的值是比较小的数值和短字符

2021-04-20 22:07:46 997

原创 ClickHouse(二)-工作原理

文章目录1 MergeTree表引擎1.1关于MergeTree表引擎区别1.2 建表语句剖析2 ClickHouse工作原理2.1 数据分区6.3.2 列式存储6.3.3一级索引(主键索引)6.3.4 二级索引6.3.5 数据压缩6.3.6 数据标记6.3.7 查询数据1 MergeTree表引擎1.1关于MergeTree表引擎区别第一 : MergeTree表引擎主要用于海量数据的分析,支持数据分区、存储有序、主键索引(是稀疏索引)、稀疏索引、数据TTL等.MergeTree支持Ck的所有S

2021-04-06 14:58:08 1652

原创 ClickHouse(一)-基础介绍以及表引擎

文章目录1 相关概念1.1 定义1.2 特点:1.3 优势(自夸)1.4 高效的硬件使用1.5 功能丰富的SQL语法支持:1.6 线性的扩展:1.7 缺点:1.8 CK的使用场景:2 单点搭建2.1 快速安装:2.2 官网教程;3 库引擎3.1 ordinary引擎3.2 dictionary引擎3.3 memory引擎3.4 MySQL引擎3.5 Lazy延时引擎4 表引擎4.1 作用4.2 类型4.2.1 mergetree4.2.2 log4.2.3 Integration4.2.4 special

2021-04-06 14:55:48 827

原创 SRE-网站可靠性工程

文章目录1 SRE介绍1.1 SRE对比Devops2 SRE的度量标准2.1 SLIs (Service Level indicators):服务级别指标2.2 SLOS(Service Level Objectives):服务级别目标2.3 SLAS(Service Level Agreements):服务级别协议3 Monitoring(监控一切)4 Troubleshooting(问题处理)4.1 故障处理的两个原则4.2 故障处理的基础环境和工具4.3 优化之请求链路4.4 优化之数据持久层4.5

2021-01-06 00:08:05 1302

原创 hive之编译源码支持UDF函数

文章目录1.下载源码2.编译支持UDF2.1 上传解压2.2 添加UDF函数类2.3注册函数2.4编译hive3.部署安装4.测试UDF友情提示: 若想减少服务器上maven编译出错的概率,可以选择将源码放在本地使用idea打开,修改源码并编译(最终失败,可能idea问题),但是这样确保我们修改的代码一定是正确的,以及本地仓库包含了几乎所有的jar。然后打包本地仓库上传服务以及修改的代码替换服务器上的解压后的类。1.下载源码我的hadoop版本环境使用的是hadoop-2.6.0-cdh5.7.0,故

2020-12-07 22:14:09 162

原创 2.9 JVM生产调优九_调优经验总结

2.9 JVM生产调优九:调优经验总结(重要)1 生产JVM调优示列execute="nohup /usr/local/jdk/bin/java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5001 -Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=api -server -Xmx3g -Xms3g -Xss512k -XX:Metaspa

2020-09-08 11:31:38 308

原创 MaxWelll常用命令

文章目录1.启动maxwell:1.1、控制台为输出:1.2、kafka为输出:1.3、配置指定某些表输出:1.4、配置输出到kafka,分区规则为表的主键:1.5、配置文件启动MaxWell2.抽取某张表的历史数据:2.1、直接全量抽取历史数据2.2、继续监控某张表bootstrap2.3、停止某张表的bootstrap2.4、添加where条件启动:1.启动maxwell:1.1、控制台为...

2020-03-30 12:07:03 2937 1

原创 MaxWelll之生产配置案列以及注意事项

1 生产使用以及注意事项生产MaxWell的版本是1.24.1使用时有如下注意事项。时区相差8小时:TIMESTAMP类型数据采集时,会有八小时的时差,这个只能通过更改源码的方式解决Bootstrap命令行BUG:当多数据库实例的采集配置公用同一MaxWell配置库时,使用Bootstrap命令行导入全量数据会有BUG,应使用SQL插入方式server_id冲突BUG:maxwell是根...

2020-03-30 11:58:28 1905 1

转载 Flink流计算编程--watermark(水位线)简介

一篇非常好的 Flink watermark 水印的文章,简洁易懂。转载:Flink watermark简介以及测试详细过程

2019-08-29 14:57:20 440

原创 Flink学习笔记

前言:Flink是当前主流的实时计算框架,阿里的Blink重构了Flink即能做全量数据的批处理,也能做增量数据的实时处理;大数据的业务数据处理分为两个步骤:全量数据批计算,以及增量数据的实时计算,有时处理的业务逻辑是一致的但是代码确是两套,繁琐;当前主流的大数据实时计算框架有: Spark Streming、Kafka Streaming、Storm、Flink、Blink(阿里双十二的主流实时...

2019-08-27 23:48:55 1107

原创 Flink学习知识分享三(State、Checkpointin)

1.State参考网址:https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/stream/state/1.1定义实际上就是指flink计算中间的计算结果或者元数据属性等信息,State会做相应的持久化,说白了State就是Flink计算过程中与时间相关的内部数据的快照,它是用于checkpoints做容错。1.2为...

2019-08-08 20:03:13 641

原创 Flink学习知识分享二(分布式运行时环境、执行流程图、Time、WaterMark)

1.Distributed Runtime Environment1.1Tasks and Operator Chainstasks:将一些操作符的一些任务连接到一起,放到一个任务中执行,这样的话减少线程间切换以及缓冲的开销,增加吞吐量降低延迟。1.2Job Managers, Task Managers, Clients每个都是JVM进程。Clients:向job提交作业的客户端,当...

2019-08-08 11:21:26 619

原创 Flink学习知识分享一(VS Spark、适用场景、基本概念)

1.Flink VS SparkFlink是基于流的有状态的计算。相对于Spark,Flink还是比较年轻,双方各有优势,取长补短。1.1定位Spark:流是批的特例Flink:批是流的特例1.2数据模型:Spark:Rdd集合,依靠lineage做恢复,存在宽窄依赖Flink:数据量和event的序列,依靠checkpoint做恢复,保证一致性,其次可以是来一条数据处理一条,...

2019-08-07 15:24:30 1755

原创 Flink快速入门三(Transformation编程)

1.简介Flink的Transformation算子和Spark的算子很类似,只要熟悉了Spark,使用scala进行Flinl的编程,是非常简单方便的事儿。transformation编程官网指导,如下简单列举了join和cross的transformation编程。2.join & cross编程案例package com.wsk.flink.transformationsi...

2019-08-06 14:44:04 420

原创 Flink快速入门二(Source编程)

1.概念当前主流的(Tez/Spark/Flink)计算都是通过构建DAG图,然后触发执行的。2.DataStream API 简介与使用DataStream API 是用于进行Stream流计算开发的API。2.1读取Socket中数据生成Stream省略,请参考之前的内容2.2读取text文件中的数据生成Stream3.DataSet API 简介与使用DataSet API ...

2019-08-06 10:33:35 1024

原创 Flink快速入门一(简介以及WC编程)

1、什么是FlinkFlink是架构在有界和无界流数据上的有状态的分布式计算引擎,既可以处理流数据又可以处理批数据(批是流的特例)1.1 有界无界流Unbounded streams:无界流,即流数据,定义了开始,没有定义结束Bounded streams:无界流,即批数据,定义了开始以及结束。将连续的批处理放大即是流处理1.2 部署模式Flink可以部署在 Hadoop YAR...

2019-08-01 19:25:32 1037 2

原创 Spark之Stream高级知识分享四(kafkaStream终极调优)

宗旨:Spark Streaming 消费 Kafka一定要保证在批次时间内完成业务的处理,若出现处理延迟累加,最终可能会导致雪崩的现象。1.kafkaStream消费者配置调优:spark.streaming.kafka.maxRatePerPartition : 一个分区一秒拉取得消息数上限,这个生产必须配置,极度重要的一个参数,该参数在Direct API 才会有效spark.str...

2019-07-28 22:32:45 563

原创 Java高并发与JVM

1、Java高并发1.1CPU cache所有的计算都是由CPU进行操作的,然而CPU的读写速度远远大于Main Memory的读写速度,故在CPU中添加了高速缓存,缓存分为3级,每一级都是都是由指令和数据构成。1.2Java内存模型-JMMJava的高并采用的是共享内存模型,即同一个内存中变量可被多个线程同时使用。但是引入了一个新的问题,缓存不一致问题,当多个线程同时修改一个变量时,会有.........

2019-07-02 14:48:57 1191

原创 CDH之CDK以及CDS部署

1.CDK部署CDK指的是CDH+Kafka,CDH默认的Parcel包裹中是没有Kafka服务包裹的,需要下载。1.1 确定CDH的版本以及下载由于我的CDH的环境是CDH5.12.0,故我根据Cloudera的官网推荐选择CDK2.2.01.2 配置Kafka Pacel下载源[root@hadoop001 ~]# cd soft/kafka_parcels/[root@had...

2019-06-06 00:01:07 1772

原创 CDH之生产常用的基本操作介绍

文章目录1.CDH的启动关闭顺序1.1启动顺序1.2关闭顺顺序2.CDH的架构3.实例配置查看和正确的修改方式3.1实列进程信息查看3.1实列的配置信息查看和修改4.日志配置以及查看4.1 实例的日志查看4.2CM的日志查看5. 界面介绍5.1host的管理5.2Diagnostics(诊断)5. 3Administration(管理)6. 添加删除服务7. 添加删除节点8.监控8.1在首页添加服...

2019-06-05 17:26:16 4402 1

原创 HBase之Phoenix与HBase简介以及安装部署和使用

文章目录1.HBase与Phoenix简介2.HBase入们2.1 (重要)版本选择2.2 单点部署2.2.1 解压2.2.2 修改hbase-env.sh 配置2.2.3 修改hbase-site.sh 配置2.2.4 添加环境变量2.2.5 启动以及命令行使用2.3 HBase shell窗口命令简单使用2.4HBase的读写流程3.Phoenix入们3.1 (重要)版本选择3.2部署3.2....

2019-06-04 20:48:28 11424 2

原创 Maxwell之简介以及安装部署和使用

1.生产主流的大数据实时数据源同步中间件:主要有Canal和Maxwell,它们都是数据同步工具。1.1中间件的作用:Mysql 》Maxwell|Canal》Kafka===》??==》存储端(数仓)HBase|Kudu|Cassandra|Hive将数据增删改操作实时的同步到另一端。1.2Canal:由阿里推出的开源的大数据实时数据源同步中间件源码地址:https://gith...

2019-06-04 01:21:44 6292 8

原创 Spark之Stream高级知识分享三(KafkaStream+小胖包+OffsetManager(At least once))

1.0KafkaStream编程案列1)在Spark2.3.0版本中Kafka0.8.0版本被标记为过时2)生产中对接Kafka版本最低选择kafka0.10.0。该版本的Stream 是Direct Stream,下面说的内容都是基于Kafka direct Stream。 receiver太古老了,未来肯定是放弃的3)(重要)Kafka direct Stram 产生的数据分区数和K...

2019-06-03 17:26:46 590

原创 Spark之Stream高级知识分享二(MapWithState +foreachRDD+Window+transform)

1.MapWithState 小案列Spark Stream: 以批处理为主,用微批处理来处理流数据Flink : 真正的流式处理,以流处理为主,用流处理来处理批数据但是Spark的Sturctured Stream确实是真正的流式处理,也是未来的Spark 流式处理的未来方向,新的Stream特性也是加在那里了。1)MapWithState可以实现和UpdateStateByke...

2019-06-03 13:13:31 363

原创 Spark之Stream高级知识分享一(TCPStream+Receiver+UpdatestatBykey)

1.Spark Stream简介SparkSream是微批次的流处理,它的编程入口是StreamContext2.TCPStram编程小案例使用 sparkStream 读取tcp的数据,统计单词数前十的单词注意:1)spark是以批处理为主,以微批次处理为辅助解决实时处理问题flink以stream为主,以stram来解决批处理数据2)Stream的数据过来是需要存储的,默认存储...

2019-06-03 10:21:27 269

原创 Flume之同时向HDFS以及Kafka写数据

前言:本篇文章详细的介绍了Flume的Agent配置Multiple flows向Kafka以及hdfs些数据,涉及的Hadoop、Zookeeper、Kafka均是伪分布式部署。1.基础环境1.1硬件环境一台4G2Core的虚拟机1.2组件版本组件名称组件版本百度网盘地址Flumeflume-ng-1.6.0-cdh5.7.0.tar.gz链接:https:/...

2019-06-02 15:15:43 721

原创 Flume之生产正确的使用方式二(Multiple Agent+ Multiple Channel+Custom)

1.多Agent使用概述上一篇文章我们详细介绍了单Agent的生产演进过程,但是生产上是需要从多台机器上采集数据的,故更多的是多Agent的串联和并联组合使用。如下图串联的Agent串联的Agent一定是采用Avro Sink和 Avro Source方式进行数据传输2.两个串联Agent实现数据采集到控制台Agent的结构:source -> channel -> si...

2019-06-02 10:00:16 468

原创 Flume之生产正确的使用方式一(Singel Agent)

1.什么Flume?Flume是一个分布式的、高可靠的、高可用的将大批量的不同数据源的日志数据收集、聚合、移动到数据中心(hdfs)进行存储的系统。即是日志采集和汇总的工具Logstash、FileBeat是ES栈的日志数据抽取工具,它们和Flume很类似,前者是轻量级、后者是重量级,若项目组使用的是ES栈技术,那完全可以使用前者取代Flume。1.1版本选择NG: 1.x的版本O...

2019-06-01 13:15:23 733

原创 Spark之SQL高级知识分享(任务提交优化+SparkSQL执行计划解析+Spark版本对比)

1.普通方式提交任务的缺点以及优化方法。使用spark-shell/spark-submit脚本提交作业到yarn时:2exector :花了一分钟时间200executor :会花费更多更多的时间在向yarn申请资源缺点一:耗费太多的时间用于申请资源上,尤其针对那些小任务(可能任务本身20秒完成)缺点二:若因为数据倾斜导致部分task一值无法结束,那么即使那些完成任务的task的资源...

2019-05-26 18:35:32 1536

原创 Spark之SQL高级知识分享二(DataSource+Tuling+CustomDataSource)

1.DataSource1.1传统的ETL数据操作弊端如上图,传统的方式如MR、Hive、Spark core方式进行数据ETL操作有如下弊端:弊端一:若涉及数据格式的转换,则代码或sql相关的逻辑就得重写。弊端二:若数据的来源非常多样化,混杂,则实现起来就更加麻烦了。基于这种情况,Spark1.2 诞生了External Data Sources,使用它我们可以非常的方便将外部数...

2019-05-26 12:37:02 721

原创 Spark之SQL高级知识分享一(SQL+DataFrame+functions+DataSet)

1.Spark SQL1.1 常见的SQL On Hadoop框架hive(及其重要): 最原始的 on hadoop的方案,由facebook贡献;将sql转化为底层MR/Tez/Spark作业;hive的metastore存储了表和库的所有信息,而且他几乎是和所有on hadoop的框架通用的,hive 2.x.x版本速度上有了很大的提升impala(生产上很少用):可以使用hive的...

2019-05-26 12:28:44 998

原创 Spark之Core高级知识分享六(PartitionNum+ShuffleManager)

1.shuffle and Partition numwc代码如下: val textRDD = sc.textFile("data/etlLog/input/hadoop-click-log.txt") val wc = textRDD.flatMap(_.split(",")) .map((_,1)) .reduceByKey(_+_).colle...

2019-05-24 22:04:39 387

原创 Spark之Core高级知识分享五(textFile+Shell+Tuning)

1.sc.textFile()源码讲解textFile读取的是hdfs上的数据,调的底层就是hdfs读取数据API2.shell脚本启动流程Spark相关shell脚本是工业级脚本,在以后生产上若遇到写此类的服务脚本完全,可以借它抄抄抄3.Tuning当我们的作业效率有问题时,我们就需要考虑进行优化了,如下是常用优化方法3.1数据存储改为可序列化spark core中默认的数据存储...

2019-05-21 00:21:59 271

原创 Spark之Core高级知识分享三(Spark on yarn)

1.YARN产生背景生产中spark作业几乎都是跑在yarn上,不用Standalone,因为集群中可能有MR、Spark、MPI等各类作业,若跑在各自的资源调度框架上,那么整体集群的资源利用率肯定是有问题的。为了统一作业调度以及资源管理,yarn就诞生了,当前YARN能支持所有主流作业的资源管理和作业调度(batch、交互式、online、strem、in-memory、机器学习、图计算等框...

2019-05-17 15:23:33 724

原创 Spark之Core高级知识分享四(Shuffle+Monitor+Share Variables)

1.产生shuffle 操作的算子shuffle是将数据重新分配的过程,它是是跨分区的,涉及网络IO传输的,成本很高。它是整个大数据的性能杀手,瓶颈所在,故生产中尽量较少shuffle动作产生。下面是列举的常见的一些算子1.1spark中会产生shuffl的操作repartition:重分区,生产中用的最多是合并小文件,减小生成的文件数repartition:底层调的是coalesce(n...

2019-05-16 09:53:54 322

原创 Azkaban3.57.0安装以及简单使用

1.为啥什么要使用WorkFlow?生产中ETL、以及HIve sql等作业都是通过shell命令触发运行的,我们知道Linux有自带的Crontab调度器,通过它可以进行简单作业的调度,但是对于一些依赖的作业,比如作业B依赖于作业A完成后才能开始,这是Crontab很难去配置了,因为配置Crontab人根本不知道作业具体是何时完成的,全凭经验感觉,这是不可取的。此时我们需要Work Flow来...

2019-05-14 23:26:48 1259 4

原创 Spark之Core高级知识分享二(Feature+Stage+Persisit+Depedence+PairRDD)

1.RDD五大特性对应的源码上图中是对应的五个方法,输入以及输出。第一个方法和第三个方法在dirver中运行,第二个方法在exector中运行2.stagestage是对job的划分,遇到shuffle就划分,一个stage有多个tasks,同一个job间的stage具有依赖依赖关系,前者必须结束才能进行后者的计算。2.1WC演示如下的wc测试代码scala> val rdd ...

2019-05-10 15:16:38 349

原创 Spark之Core高级知识分享一(Glossary+Components)

Spark之Spark Core高级进阶一1.Glossary(术语)|Term | meaning |note| :------| :------||Application|User program built on Spark. Consists of a driver program and executors on the cluster.|a driver program + ...

2019-05-09 00:39:01 307

原创 Spark之spark2.4.2源码编译集成hadoop-2.6.0-cdh5.7.0

文章目录1.环境1.1硬件环境1.2软件环境2.编译依赖软件安装2.1 JDK安装2.2 Maven安装2.3 Scala安装3.编译Spark3.1上传源码包以及解压3.2配置pom文件3.3(可选)修改ake-distribution.sh文件3.4编译4.部署验证4.1解压以及添加环境变量4.2解压后目录详解4.2运行测试脚本前言:生产中不管是spark代码改造还是spark集成部署使用都...

2019-05-01 23:28:39 854

原创 Hadoop之使用MR编程实现join的两种方法

1.需求有两张表,分表是产品信息数据以及用户页面点击日志数据如下:#产品信息数据:product_info.txt#c1=产品ID(id),c2=产品名称(name),c3=价格(privce),c4=生产国家(country)p0001,华为,8000,中国p0002,小米,3000,中国p0003,苹果,1500,美国p0004,三星,10000,韩国#用户页面点击日志数据:...

2019-04-28 01:53:53 1173 1

空空如也

空空如也

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

TA关注的人

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