「 PYTHON 」
August 24, 2020
Words count
5.2k
Reading time
5 mins.
国庆七天长假回来上班,迟迟没有进入工作状态,可能祖国的强大,让我不自觉的也飘了起来,哈哈,该收拾收拾心情,为祖国之繁荣而努力加班挣money了。今天通过解决公司开发环境的一个问题,让我瞬间进入了战斗状态,并且顺便学了一下Python拆包的一些语法,还是挺有意思的。
放假回来,同事发现公司开发环境的CDH集群挂了,好长时间没关注了,可能早就挂了吧。挂成什么样了呢?两台节点与Manager失去心跳,所有服务都起不来了,简直废了,处于不可用状态。
当时但看服务状态以为没啥问题,可能是放假期间重启服...
Read article
「 PYTHON 」
August 24, 2020
Words count
7.6k
Reading time
7 mins.
版本说明:Python2.7
感觉好久没有写博客了,最近接连两项工作,忙的不亦乐乎,难得空档期,做一下笔记总结。同样是工作中遇到的问题,简单描述一下:有这样一段脚本,它执行时间比较长,而且不断地有标准输出,需要Flask提供REST服务去异步执行这段脚本,并且实时捕获标准输出,通过WebSocket推送给前台。关键点:异步调用,实时获取标准输出,并且可能涉及到实时交互。当时解决这个问题,一开始使用的是Python的输出重定向sys.stdout,然后重写write方法,将输出写到Queue里...
Read article
「 SPARK 」
August 24, 2020
Words count
8.2k
Reading time
7 mins.
版本说明:
spark 2.3
前几天在群里摸鱼的时候,碰都一位同学问了一个比较有趣的问题,他提问:Spark如何读取原生JSON?看到这个问题,心里有些疑惑,Spark不是有JSON数据源支持吗,怎么这里还要问如何读取原生JSON,这原生JSON又是什么鬼?经过交流才明白,原来他所说的原生JSON是类似如下这种格式:
{
"昌平区东小": [
116.4021289,
40.05688698
],
"昌平区回龙": [
116.3412241...
Read article
「 RPC 」
August 24, 2020
Words count
25k
Reading time
22 mins.
版本说明:thrfit 0.12.0
模块说明:
- thrift-demo-java-api: 使用thrift生成Java api
- thrift-demo-java-server: Java 实现Thrift服务端
- thrift-demo-java-client:Java实现Thrift客户端
- thrift-demo-py-api:使用thrift生成Python api
- thrift-demo-py-server:Python实现Thrift服务端
- thrift-demo-py-client...
Read article
「 FLINK 」
August 24, 2020
Words count
46k
Reading time
42 mins.
无论StructuredStreaming还是Flink在流处理的过程中都有一个“有状态计算“的概念,那么到底什么是有状态计算,有状态计算应用到什么场景,在Flink的DataStream API中如何使用状态,以及在Flink中状态是如何管理的,在这篇文章中,我们一点一点来学习。
在讲什么是有状态计算之前,先简单说一下什么是无状态计算,在我理解,无状态计算是指本次计算结果与之前输出无关的计算。比如说,设备开关量的问题,假设我消息队列中存放的消息是每个设备的开关量信息,包含:设备ID,以及设备的...
Read article
「 SPARK 」
August 24, 2020
Words count
49k
Reading time
45 mins.
版本说明:Spark 2.4
在使用StructuredStreaming的时候,我们可能会遇到在不重启Spark应用的情况下动态的更新参数,如:动态更新某个过滤条件、动态更新分区数量、动态更新join的静态数据等。在工作中,遇到了一个应用场景,是实时数据与静态DataFrame去Join,然后做一些处理,但是这个静态DataFrame偶尔会发生变化,要求在不重启Spark应用的前提下去动态更新。目前总结了两种解决方案,一种是基于重写数据源的动态更新,另一种是重启Query的动态更新,下面将...
Read article
「 SPARK 」
August 24, 2020
Words count
51k
Reading time
46 mins.
版本说明:Spark2.4
前言
最近基于Spark Structured Streaming开发一套实时数据判别清洗系统,在开发过程接触了一些StructuredStreaming的新特性以及新用法。本文主要记录一下在开发过程中使用到的技术点,以及遇到的问题总结。
关于当时项目技术选型最终选择StructuredStreaming的原因,主要是因为团队具有Spark开发经验且Structured 比Spark Streaming具有基于事件时间处理机制。这里简单对Spark Streaming...
Read article