Home

What I cannot create, I do not understand-读《深度学习入门》

尽管是本入门书籍,不过仍然读的很慢,前后花了十几个小时。读这本书的时候,大学里高等代数里的矩阵乘法、秩的概念、最优化理论里的梯度下降、小波分析,楞是一点都想不起来🙈。 1. 感知机 感知机的想法很直白: 其中 x 是输入,w 是权重,θ是阈值。y 是输出,大于阈值输出 1,小于阈值输出 0. 通过设置不同的权重和阈值,我们可以使用感知机实现与门(两个输入均为 1 时输出1,其他时候则输出 0)、与非门(跟与门相反)、或门(输入有 1 个是 1,输出就为 1)。 但是异或门无法用线性函数表示,需要用非线性函数或者多层感知机。 注:读到这里的时候,想到了《智慧的疆界》一书里: 明斯基在书中最后给出了他对多层感知机的评价和结论:“研究两层乃至更多层的感知机是没有价值的...

Read more

一个环境导致读取 Kakfa TimeoutException 的问题

最近遇到一个比较奇怪的现象:相同 Flink 任务,换个运行环境就会报读取 kafka 失败,但是排查环境跟 Kafka 源的连通性又没有问题。 线上匆忙解决了,今天简化代码验证,感觉值得总结一版。 1. TimeoutException org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata 这个报错在读取 Kafka 时容易遇到,往往是 client 跟 bootstrap.server 的网络问题,或者 server 本身不可用导致。 但是从我的情况看,任务代码及配置是一致的,报错跟环境相关,唯一的疑点是任务 KafkaConsumer...

Read more

Reading《Stream Processing with Apache Flink》-2nd

1 Chapter7: Stateful Operators And Applications 1.1 Implementing Stateful Functions Keyed State: ValueState[T]: single value. The value can be read using ValueState.value() and updated with ValueState.update(value: T) ListState[T]: list of elements. 常用接口有add addAll get update MapState[K, V]: map of keys and values. get put contains remo...

Read more

Reading《Stream Processing with Apache Flink》-1st

1 Chapter1: Introduction to Stateful Stream Processing 2 Chapter2: Stream Processing Fundamentals 介绍了 Parallel、Time、State 等概念 Processing Streams in Parallel Latency and Throughput: 延迟、吞吐的关系 Operations on DataStreams: 输入输出、算子、聚合、窗口 Time Semantics: processing time 适合对数据延迟、乱序不敏感的场景;event time 适合对结果要求准确且唯一的场景,引入了 wat...

Read more

见人,亦见己-读《在工作中,看到中国》

之前看一本直播间的访谈录,也是各行各业,受邀的多是名人。翻了几章实在看不下去,倒不是名人说的不对,只是字里行间的心灵鸡汤、高屋建瓴,让人望而生畏。 1. 见人 潮来潮去,讲了四个职业:黄金分析师、海外置业顾问、电视购物、线下实体店。这些职业曾在浪潮之巅,却也在这个时代日薄西山。赶上时代的浪潮,顺风顺水;等到浪潮退去,黯然神伤。经历过浪潮的人,总是郁郁的叹上一句“怎么就不挣钱了呢?”。 匠人之魂,讲了两个职业:开锁师傅、风车检修。锁住的一扇门代表什么呢?门后可能是别离的人、偷情的人、贩毒的人、疫情隔离的人。风车检修,又苦又累。但是在广袤的大地上,巨大的风车之下,人仿佛是一只蚂蚁,见天地、见众生,收获务实的简单、快乐。所谓匠人,大概就是“他打磨了无数把钥匙,也在打磨自己。” 天涯海...

Read more

批处理和流处理的思考

1.时间的边界 1.1. T+1 时间分两种,处理时间和事件时间。大部分情况,数据处理都会选择事件时间。 以离线的天级 Hive 表任务为例,我们看看是如何产出 T+1 的数据的。 T+1 00:00 是处理时间,假定 A 表 Tday 的数据在 00:05 完全到达,B 表 T-day 的数据在 01:05 完全到达。 数据完全到达后,开始 merge Tday 的增量数据,然后根据需要生成全量表或者拉链表。可能的时间轴: 00:05 -> 00:30: merge A 表 Tday 的增量数据,记录到 A-inc 00:30 -> 01:35: merge A-inc + A-base,记录到 A 表 Tday 分区 01:05 ->...

Read more

《Kubernetes修炼手册》读书笔记

最近要落地 Native Flink On Kubernetes,但是公司的容器团队支持力度很小。因此开始看 Kubernetes 相关书籍,这本书是从春节前看的,早上、周末、陆陆续续持续了一个月左右,收获很大。适合入门,非常推荐。 1. Kubernetes系统 Kubernetes 集群由主节点和工作节点组成: 主节点(master): 即控制平面,包含了 API Server: 组件通信,通过HTTPS的方式提供了RESTful风格的API接口 集群存储: etcd controller管理器: controller 管理器是 controller 的管理者,例如工作节点controller、终端controller,以及副...

Read more

大数据和后端服务的思考

大数据和后端服务之间的差别,远比后端服务之间,比如推荐架构、搜索架构、直播架构等的差别要大。两者比较的文章似乎很少见。 但实际上,我在做后端服务的时候,也曾调研过能否使用大数据的组件,比如 Flink、Kafka。很多后端服务也会用到大数据的存储,比如 Hbase 来存储数据。 还记得刚从后端转到大数据开发时,对各种差别感到疑惑。如今做了几年大数据,有的疑惑逐渐解开,有的疑惑依旧看不清,有必要阶段性的总结一下。当然,工程师不应该限制自己是大数据、前端还是后端还是算法,但是试图理清区别和联系,能够让我们的视野看的更高。 1. 大数据的技术本质还是后端服务 以在大数据离线任务开发中,常见的 Apache DolphinScheduler 工作流调度系统为例。DolphinSched...

Read more