自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

翻译 Flink编程模型---《Flink原理、实战、与性能优化》学习笔记

《Flink原理、实战、与性能优化》第3章的学习笔记整理成了思维导图

2020-02-04 16:45:49 508

转载 HQL中count(*),count(1),count(column)的区别

1、执行计划:count(*)explain select count(*) from dpods_SMS_Queue limit 100;ExplainABSTRACT SYNTAX TREE:(TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME dpods_SMS_Queue))) (TOK_INSERT (TOK_DESTINATION (TO...

2019-07-05 09:50:30 1561

转载 如何在Kerberos环境使用Flume采集Kafka数据并写入HDFS(转载)

原文地址:https://cloud.tencent.com/developer/article/1078494一、概况在Kafka集群实际应用中,Kafka的消费者有很多种(如:应用程序、Flume、Spark Streaming、Storm等),本篇文章主要讲述如何在Kerberos环境使用Flume采集Kafka数据并写入HDFS。本文的数据流图如下:内容概述1.Kafka集群启...

2019-06-06 10:36:23 1825

转载 SparkSQL 学习笔记---SparkStreaming

一、大数据实时计算原理二、Spark Streaming1、SparkStreaming简介Spark Streaming是SparkCore API的一种扩展,可以用于进行大规模,高吞吐,容错的实时数据流的处理,支持从很多数据源中读取数据, 必粗Kafka,FlumeTwitter,ZeroMQ或者是TCP Socket。并且能够使用类似高阶函数的复杂算法来进行数据的处理,比如map、r...

2019-05-28 17:28:16 195

转载 Flink学习笔记------深入理解Apache Flink核心技术

原文地址:https://www.cnblogs.com/feiyudemeng/p/8998772.htmlApache Flink(下简称Flink)项目是大数据处理领域最近冉冉升起的一颗新星,其不同于其他大数据项目的诸多特性吸引了越来越多人的关注。本文将深入分析Flink的一些关键技术与特性,希望能够帮助读者对Flink有更加深入的了解,对其他大数据系统开发者也能有所裨益。本文假设读者已对...

2019-04-28 11:12:50 140

转载 SparkSQL 学习笔记----JDBC数据源实战

1、使用jdbc数据源Spark SQL支持使用JDBC从关系型数据库中读取数据。读取的数据又DataFrame表示,可以很方便地使用Spark Core提供的各种算子进行处理。java版本Map<String,String> options = new HashMap<String,String>();options.put("url","jdbc:mysql...

2019-04-26 17:40:04 151

转载 SparkSQL 学习笔记----Hive数据源实战

1、什么是HiveContextSpark SQL支持对Hive中存储的数据进行读写操作Hive中的数据时,必须创建HiveContext(HiveContext也是已经过时的不推荐使用,嘤嘤嘤~还没学好就已经过时了)。HiveContext继承自SQLContext,但是增加了在Hive元数据库中查找表,以及HiveSQL语法编写SQL的功能。除了sql()方法,HiveContext还提...

2019-04-26 16:19:46 171

转载 SparkSQL 学习笔记----案例实战之查询分数大于80分的学生信息

1、Json数据源Spark SQL可以自动推断JSON文件的元数据,并且加载其数据,创建一个DataFrame。可以使用SQLContext.read.json()方法,针对一个元素类型为String的RDD,或者是一个JSON文件。注意:这里使用的JSON文件与传统意义上的JSON文件不同。每行都必须,也只能包含一个单独的、自包含的、有效地JSON对象。不能让一个JSON对象分散在多行...

2019-04-26 11:34:29 1156

转载 SparkSQL 学习笔记----Parquet数据源之合并元数据

1、使用场景如同ProtocolBuffer,Avro,Thrift一样,Parquet也是支持元数据合并的。用户可以在一开始就定义一个简单的元数据,然后随着业务的需要,逐渐往元数据中添加更多的列。在这种情况下,用户可能会创建多个Parquet文件,有着多个不同的但是却互相兼容的元数据。Parquet数据源支持自动推断出这种情况,并且进行多个Parquet文件的元数据的合并。2、 开启Par...

2019-04-25 14:59:44 424

转载 SparkSQL 学习笔记----自动分区推断

1、表分区表分区是一种常见的优化方式。比如hive中就提供了表分区的特性。在一个分区表中,不同分区的数据通常存储在不同目录中,分区列的值通常就包含在了分区目录的目录名中。SparkSQL中的Parquet数据源,支持自动根据目录名推断出分区信息。例如,如果将人口数据存储在分区表中,并且使用性别和国家作为分区列,那么目录结构可能如下所示tableName |- gender=male ...

2019-04-25 14:37:53 900

转载 SparkSQL 学习笔记----数据源Parquet之使用编程方式加载数据

一、Parquet简介1、whatParquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发2、why列式存储和行式存储相比的优势:可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量压缩源码可以降低磁盘存储空间。由于同一列的数据类型是一样的,可以使用更高效的压缩编码(比如Run Length Encoding 和 Delta Encoding)...

2019-04-24 16:14:41 168

转载 SparkSQL 学习笔记----通用的load和save操作

一、通用的load和save操作的作用对于Spark SQL和DataFrame来说,无论是从什么数据源创建出来的DataFrame,都有一些共同的load和save操作。可以将一份数据load出来,变成一个DataFrame,然后可以对这个DataFrame执行一些查询筛选等操作,然后save到其他路径中。load操作主要用于加载数据,创建出DataFrame;save操作,主要用户将D...

2019-04-23 19:54:01 421

转载 SparkSQL 学习笔记----将RDD转换成DataFrame

一、RDD转换成DataFrame1、为什么要将RDD转换成DataFrame转换成DataFrame之后就可以直接针对HDFS等任何可以构建为RDD的数据,进行Spark SQL进行SQL查询了。2、Spark SQL支持两种方式来将RDD转化成DataFrame使用反射来推断包含了特定数据类型的RDD的元数据这种基于反射的方法,代码比较简洁,当你已经知道你的RDD的元数据时,是一种...

2019-04-23 11:10:28 940

转载 flume之HDFS Sink详解(转载)

原文地址:http://www.aboutyun.com/thread-21422-1-1.html一、重要问题点1.哪些配置影响着hdfs文件的关闭?2.HDFS Sink中每次都会触发的事件是什么?3.HDFS Sink中参数的优先级是怎样的?二、HDFS Sink跟写文件相关配置hdfs.path -> hdfs目录路径hdfs.filePrefix -> 文件前缀...

2019-04-01 10:32:57 4901

转载 kafka配置参数

https://www.cnblogs.com/metoy/p/4573880.html

2019-03-29 10:51:55 141

转载 Spark 学习笔记----宽依赖与窄依赖深度剖析

窄依赖: Narrow Dependency。一个RDD,对它的父RDD只有简单的一对一的依赖关系,也就是说RDD的每个partition仅仅依赖于父RDD中的一个partition,父RDD和子RDD的partition之间的对应关系是一对一的;宽依赖: Shuffle Dependency。本质就是Shuffle。也就是说每一个父RDD的partition中的数据,都有可能传输一部分,到下一...

2019-03-19 15:06:24 133

转载 Spark 学习笔记----Spark内核架构深度剖析

一、Spark内核架构1、Application2、spark-submit3、Driver4、SparkContext5、Master6、Worker7、Executor8、 Job9、DAGScheduler10、TaskScheduler11、ShuffleMap Task and Resut Task二、Spark内核运行流程Application: 写完的Spa...

2019-03-19 13:34:45 288

转载 Spark 学习笔记----top(n)与groupTop(n)

一、案例需求:1、对文本文件内的数字,取最大的前3个2、对每个班级内的学生成绩,取出前3名(分组取topn)二、top(n)java/** * 案例需求 * 对文本文件内的数字,取最大的前3个 */public class Top_N { public static void main(String[] args) { SparkConf conf =...

2019-03-18 11:02:35 249

转载 Spark 学习笔记----Action操作实战

Action算子常用的action操作算子主要如下:1、reduce2、collect3、count4、take(n)5、saveAsTextFile6、countByKey7、foreachjava版本public class ActionOperation { public static void main(String[] args) { //...

2019-03-15 17:42:47 125

转载 Spark 学习笔记----高级编程之基于排序机制的wordcount程序

1、案例需求(1)对文本文件内的内阁单词都统计出其出现的次数(2)按照每个单词出现次数的数量,降序排序2、实战开发java版本/** * 排序的wordcount程序 * */public class SortWordCount { public static void main(String[] args) { //创建SparkConf和JavaS...

2019-03-15 17:26:42 130

转载 Spark 学习笔记----共享变量

一、共享变量工作原理Spark一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用的到了某个外部变量,那么这个变量的值会被拷贝到每个task中。此时每个task只能操作自己的那份变量副本。如果多个task想要共享某个变量,那么这种方式是无法做到的。Spark为此提供了两种共享变量。一种是Broadcast Variable(广播变量),另一种是Accumulator(累加变...

2019-03-15 16:21:01 443

转载 Spark 学习笔记----RDD持久化原理

1、RDD持久化的原理Spark非常重要的一个功能特性,就是可以将RDD持久化到内存中,当对RDD执行持久化操作时,每个节点都会将自己操作的RDD的partition持久化到内存中,并在在之后对该RDD的反复使用中,直接使用内存缓存的partition。这样对于针对一个RDD的反复执行多个操作的场景,就只要对RDD计算一次即可,后面直接使用该RDD,而不需要反复计算多次该RDD。2、RDD持久...

2019-03-15 14:45:52 1386

原创 Spark 学习笔记----Transformation操作开发实战

一、Spark常用算子常用的Transformation操作算子主要如下:1、map2、filter3、flatMap4、groupByKey5、reduceByKey6、sortByKey7、join8、cogroup常用的action操作算子主要如下:1、reduce2、collect3、count4、take(n)5、saveAsTextFile6、c...

2019-03-14 14:37:31 231

转载 实用小技巧-----将多个txt文件合并为一个(windows系统)

仅需2步1、cd 至目标文件夹,即你需要将所有想要合并的txt文件添加至目标文件夹中;2、执行如下命令 type *.txt &gt; C:\目标路径\合并后的文件名.txt

2019-03-14 10:09:47 6387

原创 kafka-producer的生产速度与kafka-consumer的消费速度对比

一、业务需求上游数据存储到kafka中,使用flume来采集数据,传输至hdfs等多种flumeSink。在此过程中,若kafka的数据生产速度高于了flume的消费速度,就会产生数据积压。为了对此过程进行监控,需要定时来监控kafka的生产与消费的状态。二、知识积累知识参考:https://blog.csdn.net/yxgxy270187133/article/details/5366...

2019-01-08 11:08:24 9426 1

原创 hive动态分区实践

一、业务需求:数据从上一个接口传来,入hive库中的相应数据表时,需要根据数据中的某个时间字段值进行分区,分区字段为month_id(年月,如201901),day_id(日,如07),part_id(小时分钟,如1205),并且part_id是每五分钟形成一个分区,如12:04的数据需要入part_id=1205的分区,12:08的数据需要入part_id=1210分区。二、使用hive动态...

2019-01-07 18:01:39 258

原创 hive动态分区

最近使用了一下hive的动态分区功能,很实用,在此来总结一下使用的过程。一、hive的分区1. hive的分区 VS 传统关系型数据库分区https://www.cnblogs.com/yongjian/archive/2017/03/29/6640951.htmlHive分区的概念与传统关系型数据库分区不同。传统数据库的分区方式:就oracle而言,分区独立存在于段里,里面存储真...

2019-01-07 17:17:56 663

转载 MYSQL自定义排序方法总结

原文链接MYSQL自定义排序可使用的三种函数:order by fieldorder by instrorder by locate实例1. FIELD函数格式:filed(value,str1,str2,str3,str4)原理:value与str1、str2、str3、str4比较,返回1、2、3、4;如遇到null或者不在列表中的数据则返回0使用实例:SELECT...

2018-12-14 21:00:24 599

转载 Flume HDFS Sink常用配置深度解读

一、hdfs sink滚动生成文件的策略一般使用hdfs sink都会采用滚动生成文件的方式,hdfs sink滚动生成文件的策略有:基于时间基于文件大小基于hdfs文件副本数(一般要规避这种情况)基于event数量基于文件闲置时间下面将详细讲解这些策略的配置以及原理1. 基于时间策略配置项:hdfs.rollInterval默认值:30秒说明:如果设置为0表示禁用这个策...

2018-12-13 15:03:55 346

转载 《Spark机器学习》笔记---Spark编程模型

一、SparkContext类与SparkConf类1. 两个类的作用和关系任何Spark程序的编写都是从SparkContext(或用Java编写时的JavaSparkContext)开始的;SparkContext的初始化需要一个SparkConf对象,后者包含了Spark集群配置的各种参数(比如主节点的URL)。2. 两个类的具体使用初始化后,可用SparkContext对象所...

2018-12-11 21:55:24 199

转载 《Spark机器学习》笔记---Spark集群

Spark集群由两类程序构成:一个驱动程序多个执行程序本地模式:所有的处理都运行在同一个JVM内;集群模式:它们通常运行在不同的节点上。一个采用单机模式的Spark集群(即使用Spark内置的集群管理模块)通常包括:一个运行Spark单机主进程和驱动程序的主节点;各自运行一个执行程序进程的多个工作节点。在本书中,我们将使用Spark的本地单机模式做概念讲解和举例说明,但所用...

2018-12-11 19:42:06 210

转载 《Spark机器学习》笔记---Spark的本地安装与配置

一、Spark简介Apache Spark是一个分布式计算框架,旨在简化运行于计算机集群上的并行程序的编写,该框架对资源调度,任务的提交、执行和跟踪,节点间的通信以及数据并行处理的内在底层操作都进行了抽象。它提供了一个更高级别的API用于处理分布式数据。从这方面说,它与Apache Hadoop等分布式处理框架类似。但在底层架构上, Spark与它们有所不同。Spark起源于加利福利亚大学伯克...

2018-12-06 21:22:57 344

转载 XML解析学习总结--SAX解析

2、SAX解析介绍* 全称:Simple APIs for XML—即XML简单应用程序接口* 解析原理:通过parse(file,listener)函数用一个listener对xml文件进行查找,按顺序读取文档,遍历每个标签,当发现目标标签时,读取标签的属性、结点值等信息并返回。SAX接口也被称作事件驱动接口。* 优缺点:优点:a. 采用事件驱动模式,无需将整个xml文档载入内存,...

2018-12-06 17:07:58 313

转载 XML解析学习总结--DOM解析

一、优势XML是一种通用的数据交换格式;与平台无关、语言无关与平台无关、语言无关系统无关,给数据集成与交互带来了极大的方便。XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已二、XML格式举例&amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;quot;1.0&amp;amp;amp;quot; encoding=&amp;amp;amp;quot;UTF-8&amp;amp;a

2018-12-04 21:50:57 330

转载 Shell学习总结---printf格式化输出

功能:printf是awk的重要格式化输出命令注意事项:printf输出动作和printf输出动作的区别:在 awk 中可以识别 print 输出动作和 printf 输出动作,区别是:print 会在每个输出之后自动加入一个换行符;而 printf 是标准格式输出命令,并不会自动加入换行符,如果需要换行,则需要手工加入换行符,但是在 Bash 中只能识别标准格式化输出命令 printf...

2018-12-03 19:27:11 925

转载 Shell学习总结---awk

功能:命令格式:[root@localhost ~]# awk '条件1 {动作 1} 条件 2 {动作 2} …' 文件名命令说明:条件:一般为关系表达式动作格式化输出流程控制语句命令使用:格式化输出:列出 student.txt 文件的第二个字段和第六个字段[root@localhost ~]# awk '{printf $2 &amp;quot;\t&amp;quot; $6 &amp;quot;\n&amp;

2018-12-03 16:15:07 173

转载 Shell学习总结---cut

功能:进行列提取(但也需要按行进行数据提取,即先读取文本的一行数据,在行中判断是否有符合条件的字段,然后再处理下一行)区分:grep命令是在文件中提取符合条件的行命令格式:[root@localhost ~]# cut [选项] 文件名选项说明:-f列号:需要提取的列号,如提取第2列,即-f 2-d分隔符:按照指定分隔符来分隔列,如使用“|”,即-d "|" 默认分隔符为制...

2018-11-30 20:29:12 134

转载 Linux 技巧:让进程在后台可靠运行的几种方法(转载)

原文链接我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。nohup/setsid/&amp;场景:如果只是临时有一个命令需要长时间运行,什么方法能最简便的保...

2018-11-28 21:57:44 98

转载 手把手从零开始学习入门mybatis(转载)

原文链接简介MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。安装要使用Mybatis只需要到...

2018-11-27 16:09:49 167

转载 使用“|”分隔字符串

昨天踩了一个坑,在坑里折腾半天,终于跳了出来。此坑是关于字符串分隔的,原来使用“|”分隔的时候是不能直接这样写的,需要写成“\\|”。String body = &quot;98399154296041905538|13125899681|13125899681|200|20181123160717|3|||905|1||||&quot;;String[] bodyArray = body.split(&quot;\\|...

2018-11-24 10:50:05 552

空空如也

空空如也

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

TA关注的人

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