- 博客(97)
- 收藏
- 关注
原创 Azkaban安装和简单使用
文章目录1、Azkaban介绍和安装1.1 介绍1.2 下载安装包1.3 配置和编译1.4 配置Azkaban1.5 Web登陆Azkaban2、Azkaban简单操作2.1 编辑两个文件2.2 创建项目和上传zip包2.3 Job之间的Dependency测试2.4 Job调度,在规定时间执行1、Azkaban介绍和安装1.1 介绍Azkzban是一款轻量级的调度工具,提供了一个良好的We...
2019-08-23 17:08:03
1370
原创 Flume之Taildir Source二次开发实现迭代读取目录下文件
文章目录1、下载源码包2、导入IDEA3、修改源码4、上传到服务器,编译5、新建conf文件,测试TaildirSource1、下载源码包注意这是源码文件flume-ng-1.6.0-cdh5.7.0-src.tar.gz解压到Windows目录下2、导入IDEA就这里注意下倒入哪个目录,后面都是next就行了。3、修改源码找到 getMatchFiles 方法注释完后在...
2019-08-22 23:02:32
892
转载 JVM堆内存详解、常用参数,GC算法、GC收集器
文章目录1、堆内存详解1.1 JVM内存模型1.2 分代概念2、JVM堆内存常用参数3、垃圾回收算法(GC,Garbage Collection)4、垃圾收集器4.1 GC常见算法4.2 GC参数5、为什么会堆内存溢出?6、小结1、堆内存详解1.1 JVM内存模型JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是...
2019-08-17 10:28:50
540
原创 ZooKeeper基本操作
1、ZK的数据模型1) 树形结构: / 2) ZK中的每个节点:znode,唯一的路径标识 a) 每个znode都有自己的版本号 b) znode信息发生变化,那么version+1 c) znode数据量不要太大,几K就差不多了,都是存一些配置信息 d) 权限 e) Watcher3) znode有两种类型 a)临时:当前session有效,不能有子节点的。 ...
2019-08-15 22:05:39
290
原创 JVM高并发、JMM模型
1、JMM模型Java内存模型 JMM就是为了解决多线程场景下并发问题的一个重要规范CPU 和缓存的一致性问题CPU 执行应用程序 SparkApp,仅仅只负责执行Data:在计算的物理内存里面他们是处在不同的地方,随着技术的发展,CPU的速度是大于内存的高速的CPU去内存读和写,内存肯定是跟不上的所以在CPU 和物理内存 之间有个 高速缓存一级缓存二级缓存三级缓存2、...
2019-08-15 19:52:52
237
原创 JVM查看字节码信息、GC及分类
1、字节码信息代码执行流程package com.ruozedata.jvm;public class JvmDemo { public static void main(String[] args) throws InterruptedException { System.out.println("zuozedata"); Thread.sle...
2019-08-15 17:03:51
190
原创 JVM参数类型、jinfo/PrintFlags、Xmx/Xms/Xss、内存模型
文章目录1、JVM介绍2、jinfo/PrintFlags2.1 jinfo2.2 PrintFlags3、几个特殊的参数4、JVM运行时数据区(Run-Time Data Areas)5、JVM内存模型1、JVM介绍官网文档:https://docs.oracle.com/javase/specs/jvms/se8/html/index.htmlJVM 有Server、Client两种,...
2019-08-15 09:04:50
1302
原创 Flink自定义Source:SourceFunction、ParallelSourceFunction、RichParallelSourceFunction
我们这里讲这三类自定义SourceSourceFunction、ParallelSourceFunction、RichParallelSourceFunction先定义一个Class类,分别集成上面三个接口,实现里面方法package com.ruozedata.flinkimport org.apache.flink.streaming.api.functions.source.Sou...
2019-08-14 18:14:09
6647
3
原创 Flink之DataSet 的Join、Cross使用
Join 默认就是内连接,还有leftOuterJoin,rightOuterJoin,fullOuterJoincross 笛卡尔积package com.ruozedata.flinkimport org.apache.flink.api.scala.ExecutionEnvironmentimport org.apache.flink.api.scala._import scal...
2019-08-14 10:49:03
1390
原创 Flink之DataStream Source、DataSet Source
1、DataStream SourceDataStream API 是用于进行Stream流计算开发的API
2019-08-14 06:23:00
340
原创 Flink核心概念
文章目录1、Basic API Concepts2、DataSet and DataStream3、Flink程序的剖析4、Lazy Evaluation1、Basic API ConceptsFlink程序是在分布式集合上实现转换的常规程序(例如,filtering, mapping, updating state, joining, grouping, defining windows,...
2019-08-13 19:10:11
220
原创 Flink入门介绍和安装部署、第一个Flink程序WC
文章目录1、Flink介绍1.1 Flink是什么1.2 Flink部署在什么地方1.3 Flink编程模型1.4 程序和数据流2、Flink搭建3、Maven依赖,写第一个Flink程序WC1、Flink介绍1.1 Flink是什么Apache官网:https://flink.apache.org/Apache Flink® - Stateful Computations over D...
2019-08-13 18:40:08
381
原创 ElesticSearch6.6.0入门和安装部署
文章目录1、ElesticSearch介绍2、ElesticSearch安装3、启动过程出现的问题4、ElesticSearch启动1、ElesticSearch介绍官网下载地址:https://www.elastic.co/cn/downloads/ELK是三个组件的头字母简称:Elasticsearch(ES):对您的数据进行搜索、分析和存储;ES也是个NoSQL,和HBase,Re...
2019-08-13 09:00:58
463
转载 Hive元数据库详解
文章目录1、概述2、启用mysql管理3、通过mysql查看basic01数据库4、version(存储Hive版本的元数据表)5、Hive数据库相关的元数据表(DBS、DATABASE_PARAMS)6、Hive表和视图相关的元数据表7、Hive文件存储信息相关的元数据表8、Hive表字段相关的元数据表9、Hive表分区相关的元数据表10、其他不常用的元数据表11、最后我们总结下他们之间的关系图...
2019-08-12 07:28:51
1750
原创 Hive特殊的数据类型:Array,Map,Struct
1、Array#创建一张包含array字段的表,array字段的分割符采用的是逗号create table hive_array(name string,work_locations array<string>)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'COLLECTION ITEMS TERMINATED BY ',';...
2019-08-12 07:18:41
436
原创 Hive分区表
1、分区表分区表可以使用partition BY子句创建。一个表可以有一个或多个分区列,并且为分区列中的每个不同值组合创建一个单独的数据目录。此外,表或分区可以使用按列聚集的方式进行分组,并且可以通过按列排序在该桶中对数据进行排序。这可以提高某些查询的性能。2、创建分区表静态分区#将订单按月分进行分区create table order_partition(order_no strin...
2019-08-12 07:13:44
217
原创 Hive之DDL详解
官网:http://hive.apache.org1、Hive的DDL对于DML语言,我们不讲,因为实际工作Hive1.x版本 DML性能太差,基本是用Spark实现;虽然现在Hive2.x支持Spark引擎,但是使用的人还是比较少。https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDLHiveQL DDL:...
2019-08-12 07:07:25
451
原创 Hive常见的存储文件格式
1、Hive常见的文件格式SEQUENCEFILE:生产中绝对不会用,k-v格式,比源文本格式占用磁盘更多TEXTFILE:生产中用的多,行式存储RCFILE:生产中用的少,行列混合存储,ORC是他得升级版ORC:生产中最常用,列式存储PARQUET:生产中最常用,列式存储AVRO:生产中几乎不用,不用考虑JSONFILE:生产中几乎不用,不用考虑INPUTFORMAT:生产中几...
2019-08-12 06:06:32
318
原创 Hive常见压缩格式和性能对比
压缩能够减少存储磁盘空间,降低网络IO和磁盘IO,加快数据在磁盘和网络中的传输速度,从而提高系统的处理速度。虽然由以上的好处,但是由于使用数据时,需要先将数据解压,加重了CPU负荷。根据我们的实际工作场景,我们要选择合适的压缩格式。常见的压缩格式如下:下面是一份源数据1.4G的文件,各类压缩格式的比率和时间对比数据压缩后大小:压缩和解压时间:从上面对比可以看出:在压缩数据比...
2019-08-12 06:05:34
2876
原创 Hive压缩格式配置
1、文件压缩配置实现首先你的Hadoop是需要编译安装的,参考博客:Hadoop源码编译https://blog.youkuaiyun.com/greenplum_xiaofan/article/details/95466703检查Hadoop支持的压缩格式:[hadoop@vm01 hadoop-2.6.0-cdh5.7.0]$ pwd/home/hadoop/source/hadoop-2.6....
2019-08-12 05:53:42
1007
原创 SparkStreaming之Offset管理、胖包和瘦包提交
1、Offset管理Kafka从0.10.x开始Offset偏移量就自从维护在Kafka内部中,看下面代码。注意,我们使用的是earliest从头开始消费,也就是说如果你的SparkStreaming刚开始启动,那么会从Kafka对应的Topic从第一条数据开始消费到当前。下面模拟,第一次消费后DStream停止了,但是Kafka依然在生产数据,再次启动DStream会从什么位置消费。pa...
2019-08-11 21:16:59
430
原创 SparkStreaming之Transform操作RDD到RDD的转换、结合Kafka0.10.x的使用
1、Transform操作RDD到RDD的转换这里的Transform可不是前面的Transformations算子。transform 操作允许在DStream上应用任意的RDD-to-RDD函数。它可以用于应用DStream API中没有公开的任何RDD操作。例如,DStream API中没有直接公开将数据流中的每个批处理与另一个数据集连接起来的功能。但是,您可以很容易地使用transfo...
2019-08-11 20:24:28
544
原创 SparkStreaming之foreachRDD写数据到MySQL、连接池、Window/窗口
文章目录1、MySQL连接2、foreachRDD=>foreachPartition=>foreach3、验证4、Window/窗口1、MySQL连接 def getConnection()={ Class.forName("com.mysql.jdbc.Driver") DriverManager.getConnection("jdbc:mysql://192...
2019-08-11 19:49:33
1077
原创 SparkStreaming入门介绍和运行架构
文章目录1、概述2、Basic Concepts2.1 Maven 添加依赖2.2 StreamingContext2.3 Discretized Streams (DStreams)2.4 Input DStreams、 Receiver2.5 Transformations on DStreams2.6 Output Operations on DStreams3、运行过程4、官网案例Word...
2019-08-11 19:17:44
359
原创 Kafka之Offset管理标记和寻址、消费模式、参数调优
文章目录1、Offset如何标记数据2、Offset如何寻址3、消费模式4、参数调优1、Offset如何标记数据每个分区的offset都是从1开始标记的每个分区将数据切分成segment(段),每个段由log和index两份文件组成假设一个Topic的数据,有三个分区,存了4500条数据:ruozedata-0 1开始标记…ruozedata-1 1开始标记…ruozedata-...
2019-08-10 09:43:29
1027
原创 Kafka入门介绍、安装部署
文章目录1、前言2、Kafka基本概念3、Kafka安装3.1 安装Zookeeper3.2 安装Kafka3.3 Kafka启动、测试1、前言本章节使用的是Apache Kafka,版本:kafka_2.11-2.1.0.tgz;但是实际工作中要考虑CDH环境,使用的是CDH官网的Kafka,所以这里先简单介绍下,如何集成到CDK中,请参考博客:https://blog.youkuaiyun.com/...
2019-08-10 04:05:03
370
原创 Flume多Agent串联,单Source多Chanel/Sink使用、单Source到HDFS和Kafka
文章目录1、两个Agent串联2、单Source多Chanel/Sink1、两个Agent串联串联的Agent中间要采用Avro Sink和 Avro Source方式进行数据传输案例:Agent的结构:source -> channel -> sink -> source -> channel -> sinkAgent,Source选择:exec->...
2019-08-09 10:21:22
562
原创 Flume介绍、安装部署、如何使用
文章目录1、Flume介绍1.1 下载的版本1.2 Flume特性1.3 Flume Agent框架2、安装3、 单节点Source:NetCat,Sink:Logger3.1 配置3.2 启动、测试1、Flume介绍1.1 下载的版本本章我们介绍的是CDH版本的Flume,不是Apache版本的。附上下载和User Guide地址:http://archive.cloudera.com...
2019-08-09 08:39:02
380
原创 SparkSQL内置函数、UDF函数、Catalog
文章目录1、foreachPartition写数据到MySQL1、foreachPartition写数据到MySQL
2019-08-08 09:03:52
588
原创 SparkSQL外部数据源/Data Sources
文章目录1、Data Sources2、读取Json文件3、读取Parquet数据4、读取Hive中的数据5、读取、保存MySQL中的数据1、Data SourcesSpark SQL支持通过DataFrame接口对各种数据源进行操作。DataFrame可以使用关系转换进行操作,也可以用于创建临时视图。将DataFrame注册为临时视图允许您对其数据运行SQL查询。本节描述使用Spark数据源...
2019-08-08 01:05:12
202
原创 SparkSQL之RDD转换DataFrame
文章目录1 、SparkSQL读取Json文件2、RDD转换成DataFrame2.1 用toDF()方式2.2 把原生RDD转换成RDD[Row],再和定义好的StructType匹配1 、SparkSQL读取Json文件先随便造两份Json格式数据。[hadoop@vm01 data]$ vi stu1.json {"id":"1","name":"zhangsan","phone":...
2019-08-06 21:57:23
583
原创 SparkSQL入门、Hive和Spark整合、SparkSession入口
文章目录1、SparkSQL入门1.1 SparkSQL特性1.2 Spark SQL, DataFrames and Datasets Guide2、Hive和Spark整合2.1 把`hive-site.xml` 复制到spark conf目录2.2 Spark-shell访问Hive库1、SparkSQL入门1.1 SparkSQL特性以前的老版本1.0开始出现SparkSQL,在官...
2019-08-06 09:45:33
13244
原创 Hive入门和安装部署
1、Hive简介基于SQL on Hadoop的有Hive、SparkSQL、Phonix(主要是用于Hbase上的查询,也支持SparkSQL等)。Hive是Apache的一个开源顶级的项目,官网:http://hive.apache.org/ 源码:https://github.com/apache/hiveHive是数据仓库,由Facebook贡献,使用SQL进行大数据的处理和分...
2019-08-06 07:30:40
146
原创 SparkCore:map与mapPartition、foreach和foreachPartition通过连接数据库对比结果
源码 // Actions (launch a job to return a value to the user program) /** * Applies a function f to all elements of this RDD. * 作用一个函数到RDD的所有元素。 */ def foreach(f: T => Unit): Unit = wit...
2019-08-04 16:25:11
714
转载 SparkCore:Spark内存调优二
一、概述Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文旨在梳理出 Spark 内存管理的脉络,抛砖引玉,引出读者对这个话题的深入探讨。本文中阐述的原理基于 Spark 2.1 版本,阅读本文需要读者有一定的 Spark 和 Java 基础,了解 RDD、...
2019-08-04 15:41:22
174
原创 SparkCore:数据序列化,内存调优
文章目录1、Data Serialization1.1 Java和Kryo序列化1.2 Kryo序列化注册1.3 Storage-Level和Kryo序列综合使用对比1.4 SizeEstimator评估2、Memory Tuning2.1 Memory Tuning方面2.2 Memory Management官网:Tuning Sparkhttp://spark.apache.org/do...
2019-08-04 15:21:11
275
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人