加载中
protostuff

protostuff是一个基于protobuf实现的序列化方法,它较于protobuf最明显的好处是,在几乎不损耗性能的情况下做到了不用我们写.proto文件来实现序列化。使用它也非常简单,所以直接上代码。 ma...

06/02 15:23
39
spark checkpoint

Checkpoint 到底是什么和需要用 Checkpoint 解决什么问题: Spark 在生产环境下经常会面临 Transformation 的 RDD 非常多(例如一个Job 中包含1万个RDD) 或者是具体的 Transformation 产生的 ...

spark streaming checkpoint

一个 Streaming Application 往往需要7*24不间断的跑,所以需要有抵御意外的能力(比如机器或者系统挂掉,JVM crash等)。为了让这成为可能,Spark Streaming需要 checkpoint 足够多信息至一...

updateStateByKey和mapWithState比较

什么是状态管理函数   Spark Streaming中状态管理函数包括updateStateByKey和mapWithState,都是用来统计全局key的状态的变化的。它们以DStream中的数据进行按key做reduce操作,然后对各个...

Spark中的DataFrame,字段为Array类型,getas出错的问题

打开getas的源码,找到下面一段 /** * Returns the value at position i of array type as a Scala Seq. * * @throws ClassCastException when data type does not match. */ def getSeq[T....

flink BroadcastStream

使用场景: 在处理数据的时候,有些配置是要实时动态改变的,比如说我要过滤一些关键字,这些关键字呢是在MYSQL里随时配置修改的,那我们在高吞吐计算的Function中动态查询配置文件有可能使整...

06/02 10:52
28
hive sql计算连续签到天数

在a表中有id和date两列,记录用户当天是否签到,想查询出哪些用户连续签到了3天(或连续签到更多天,是连续签到),sql改如何写呢? 首先 用row_number来统计排名 select id,date,row_numbe...

06/01 15:10
82
FileSystem.get从缓存cache中获得连接导致的问题

首先了解FileSyste.get机制,查看源码可知,首先会根据fs.hdfs.impl.disable.cache,是否去缓存cache中找连接,默认是去缓存中找连接的,参考:HDFS下载数据之源码分析-FileSystem.get(conf)...

happen-before原则

1.什么是happen-before (1)编写的程序都要经过优化(编译器和处理器会对程序进行优化)后才会被运行,优化分为很多种,其中有一种优化叫做重排序,重排序需要遵守happens-before规则。 (2...

05/12 15:09
49
hive with as

with as 也叫做子查询部分,首先定义一个sql片段,该sql片段会被整个sql语句所用到,为了让sql语句的可读性更高些,作为提供数据的部分,也常常用在union等集合操作中。 with as就类似于一个...

05/12 15:02
20
如何保证向kafka中写入数据时,数据不会丢失

1、Kafka写入数据丢失问题 什么情况下Kafka中写入数据会丢失呢? 其实也很简单,大家都知道写入数据都是往某个Partition的Leader写入的,然后那个Partition的Follower会从Leader同步数据。但...

05/12 12:09
128
PySaprk 将 DataFrame 数据保存为 Hive 分区表

PySaprk 将 DataFrame 数据保存为 Hive 分区表 创建 SparkSession from pyspark.sql import SparkSession spark = SparkSession.builder.enableHiveSupport().appName('test_app').getOrCrea...

05/11 14:53
141
如何设置Spark Executor Memory的大小

一、Spark内存使用大体上的两类 执行内存和存储内存。其中执行内存用于shuffle、join、sort、aggregation等操作的计算使用。存储内存用于cache对象、存储广播数据等。 二、Executor内存设置小...

05/11 14:42
82
kafka高性能的原因

【优化一】零拷贝 这是Kafka在消费者端的优化,我们通过两张图来比较一下传统方式与零拷贝方式的区别: 传统方式: 零拷贝方式: 终极目标:如何让数据不经过用户空间? 从图中可看出,零拷贝...

04/04 22:46
18
springboot aop service层参数校验,日志输出等

背景 我们通常用拦截器、过滤器、aop等功能在controller层实现参数的校验,日志输出,耗时统计等功能。但是有时候我们需要对外提供不同类型的接口,比如http接口和thrift接口,如果我们在con...

git如何合并其它分支的部分文件或文件夹

如:想要将分支B下public文件下所有文件和view下index.html文件合并到分支A // 首先切换到分支A git checkout A // 合并 git checkout B model/ view/index.html 当前分支存在的更新;当前分...

Git
01/13 15:50
55
flink内存管理

flink内存管理体系 Flink 并不是将大量对象存在堆上,而是将对象都序列化到一个预分配的内存块上,这个内存块叫做 MemorySegment,它代表了一段固定长度的内存(默认大小为 32KB),也是 Fl...

01/10 16:21
44
hadoop为啥要有yarn

Hadoop2.x较Hadoop1.x来说,变化非常大,主要主要体现在Hadoop2.x引入了“Yarn”这个核心部件。 hadoop1.x有两大部件,HDFS和MadpReduce,其中HDFS(Hadoop Distributed Files System)用于分...

http 与 rpc 对比

总结:RPC主要用于公司内部服务调用,传输效率高(TCP,报文小),性能消耗低(高效的二进制传输、字节小、序列化耗时少),服务治理方便: 1、传输协议:   RPC:可以基于HTTP协议,也可以...

2019/12/16 18:05
49
SpringBoot项目实现日志链路追踪

1.背景简述 依赖原始的log4j2配置,很难从某服务庞杂的日志中,单独找寻出某次API调用的全部日志。 本文通过在日志中打印唯一的traceId来实现每次调用的追踪。 2.关键思路 2.1.MDC 日志追踪目...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部