自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 MLSQL -个人开源项目的成长之路

前言 今天看了下项目的first commit log, 发现再过几天,就已经三年整了。 commit bbf08489f2e3c58afd584e03b8c9c83d25c63b3b Author: WilliamZhu <allwefantasy@gmail.com> Date: ...

2019-04-23 15:46:06 3322 0

原创 Spark 资源自动清理

Spark运行一次SQL,根据SQL的具体执行情况,可能会产生很多垃圾。譬如你可以很容易观察到的就是在Spark UI上跑完SQL后会有Storage Memory的占用:这个应该是SQ...

2020-05-15 16:41:22 127 0

原创 Java G1垃圾回收导读

因为已经有非常好的文章介绍G1了,所以这篇文章只会提供一些我觉得特别好的文章信息,帮助大家从 茫茫的信息海洋里节省时间。祝威廉如何看懂G1的GC日志非常重要,因为我们需要通过日志进一步了...

2020-05-14 17:56:23 61 1

原创 Spark GC 调优文章推荐

为什么我们需要调GC如果是在以前,ETL为王的年代,我们其实大可不必去调试,使用默认的 Parallel GC就可以了。但是随着发展,实时流计算以及AdHoc查询,对JVM的要求:高吞吐...

2020-05-12 14:32:48 55 0

原创 Spark 大/小文件读取优化

问题描述使用Spark写复杂SQL时,我们经常会遇到两个尴尬的情况:表里的单个文件都很大,而且因为record比较小,所以单个文件的record数量巨大。表里每个分区都有成百上千个小文件...

2020-05-08 12:56:31 90 0

原创 认识 Delta Lake

百花齐放的大数据生态17,18是计算引擎火热的两年,19年已然是红海了。计算引擎中的王者是Spark,综合指标最好,生态也好,当其他引擎还在ETL,交互查询,流上厮杀时,Spark已经在...

2020-05-06 13:32:55 129 0

原创 给大家引荐下我的开源项目【们】

前言从开始工作,我一直会问自己这么两个问题:1. 我有足够多的工具提升自己效率么?2. 我有足够好的平台去提升团队效率么?效率在我看来是至关重要的。关于我对效率的理解,还可以看看我这篇文...

2020-05-06 13:32:55 106 0

转载 数据团队规划布局感悟(三)

0x00 前言自己也没想到马上会有第三篇了。今天重点讲讲我对感悟(一)中提及的“解决方案设计团队”的看法。其实这个名字是我瞎起的,对应的是大家熟知的“算法团队”或者“机器学习团队”。0x...

2020-05-05 12:17:04 112 0

转载 可以【移动数据】而不是【移动计算】了

0x00 前言在进入本文的主题之前,先讲两件事。第一件事,是Spark 3.0 开始重构shuffle部分,用以支持remote shuffle。这意味着我们终于可以为shuffle专门...

2020-05-02 18:20:29 139 0

原创 SQL思维 VS 编程思维(重制版)

昨天看了一篇文章,里面有段话讲的比较务实:开发效率,从平台发展的各阶段实践中,我们发现,对于一个统计任务/算法任务/风控任务,如果采用传统的编程思维方式去实现,那么只能通过堆开发人员,去...

2020-04-28 13:24:15 262 0

原创 【抖音短文】痛点不能驱动一切,效率驱动才是

什么都等到痛了才去做,要你何用。​在我们的内心世界,我们认为痛点驱动是一个理所当然的事情。只有有了痛,我们才有动力去解决它。奈何能感受到痛点的是人,而人基因里就包含了一件事,就是会忍受,...

2020-04-25 10:35:19 123 0

原创 【一站地铁短文】该不该追新的技术名词(概念)

先抛出结论(毕竟我们号称一站地铁短文):无论什么新技术名词(概念),不要去抵触,试着去了解,最好是能从其中学习到一些好的东西。名词(概念)本身并没有那么重要。和具体技术不一样,技术名词(...

2020-04-24 09:00:30 91 0

原创 【短文】为什么要关注技术趋势

很多对技术持有保守心态的人,总是希望某项技术烂大街以后再买入,但是技术本身并不是凭空而来的,而是实际的需求驱动的。这意味着,当它烂大街的时候,其实可能已经不能支撑现阶段公司业务的诉求了。...

2020-04-23 12:53:41 172 0

原创 【短文】技术调研尽可能不要交给新手

技术调研是个技术上很有【挑战】,同时也是一个比较【艰苦】,也考验一个人的技术【品味】的任务。所以让一个新手去调研,这明显属于为难新手,并且大概率会得到一个不甚“真实”的调研结果。当然了,...

2020-04-23 12:53:41 84 0

原创 2019年技术思维套路总结

前言19年,在一些技术思维上形成了几点套路,不过目前还没有成体系,所以想到啥就写啥了,算是一个记录,避免自己以后忘了。技术调研不要交给新手技术调研是个技术上很有【挑战】,同时也是一个比较...

2019-12-31 12:56:31 123 0

转载 数据湖Delta Lake 深入解析&专栏介绍

最近在知乎新开了一个专栏,<数据湖Delta Lake 深入解析>,具体链接请大家查看原文链接啦。这个系列不讲API用法(毕竟官网的Docs已经足够),不讲源码(枯燥并且影响...

2019-10-23 10:15:01 288 0

原创 Spark的常见困惑(1)

前言已经很少写Spark的文章了,但是因为以前写的挺多的,所以还是有很多人会和我交流Spark相关的内容。这篇文章我会把我经常被问到的几个问题整理下,也可以避免以后反复讲,因为可以直接把...

2019-10-12 11:53:57 75 0

原创 大数据计算引擎们是该有个统一的标准了,闲聊Linkis

大数据中台建设其实已经如火如荼了。我们在这里也不去纠结是中台还是平台,总之形态就是登录web后就可以使用各种大数据引擎进行数据探索,分析,机器学习等工作,大家可以在上面写SQL,Pyth...

2019-10-12 11:53:57 144 0

原创 超小企业的大数据与AI之路该怎么走

今天正好和以前的一个老朋友通了个电话,他在创业,其实做的还可以,业务发展的也不错。但是做互联网服务,尤其是内容服务,不可避免的需要譬如推荐,搜索,精准推送等功能,而这几个功能,又比较依赖大数据和AI相关的体系。举个最简单的例子,获取用户访问行为,然后做个协同,然后推荐时需要把用户看过的内容过滤掉,...

2019-05-07 15:12:00 1405 4

原创 Delta的真正用处和价值,你可知道

前言 应该说,Delta是最近几年Databricks开源的最有价值的东西。Databricks这几年对外致力于AI,对内则努力给客户提供一站式分析处理平台。这个一站式的核心是,内核包含了流和批的真正统一,那什么才是真正的流和批的统一呢? 引擎内核统一 API统一 数据存储统一 其中1,2两点...

2019-04-30 12:37:00 257 0

原创 台北行二三事:不要让疲劳被掩埋

今天是到台北第三天,也是第二次来台北了。台北是个很舒适,很适合生活的城市。这两天来基本就是以酒店为中心,方圆一公里活动,主要有三个活动内容:睡觉找食写代码,写文章台北美食里,家庭作坊式的...

2019-04-29 13:16:28 63 0

原创 MLSQL Stack 应用场景示例

前言 MLSQL Stack 都有哪些应用场景呢?毕竟现在是个场景为王的时代。其实MLSQL Stack有无限的可能性等待大家挖掘。下面我们提一些已经在应用的。 数据同步组件 比如从各个数据库里把数据同步到HDFS上。 ## ETL平台 配合调度,传统的批处理平台。 流式平台...

2019-04-27 15:37:11 1024 0

原创 MLSQL 1.3.0开发版中最新三个MPIPs--调度,资源,缓存

什么是MPIP MPIP 是新Feature提案。全称 MLSQL Project Improvement Proposals 。当然这个是学习Spark 的 SPIP,作为一个较为稳定成熟的项目,后续增加较大的功能特性会比较慎重,所以需要通过Improvement Proposals的方式来进行...

2019-04-27 15:21:21 595 0

原创 MLSQL 1.3.0开发版中最新三个MPIPs--调度,资源,缓存

什么是MPIP MPIP 是新Feature提案。全称 MLSQL Project Improvement Proposals 。当然这个是学习Spark 的 SPIP,作为一个较为稳定成熟的项目,后续增加较大的功能特性会比较慎重,所以需要通过Improvement Proposals的方式来进行...

2019-04-27 15:20:00 93 0

原创 Rust FFI 实践

背景 部门算法团队开始成长起来,开始有越来越多的尝试以及成果,但是现在工程方面严重的限制了(主要是做预测服务)他们的研究成果转化为实际输出的能力。去年下半年,我们就发现TF官方的Java binding 存在严重的内存泄露问题,而TF Java binding 因为封装包括训练和预测所需要的API...

2019-04-21 16:52:00 1292 0

原创 MLSQL Stack v1.2.0正式版发布

前言 MLSQL Stack 包含如下几个组件: MLSQL Engine v1.2.0 MLSQL Cluster v1.2.0 MLSQL Console v1.2.0 MLSQL Stack v1.2.0发布时间距离上个版本v1.7.1.1 已经有接近3个月了。这次我们跳过了v1....

2019-04-14 22:07:00 96 0

原创 MLSQL 语法扩展设计

前言 MLSQL 语法非常简单,只有: set select train/run/predict save load 等几种语法。因为MLSQL为了简单起见,对扩展新语法是非常抵触的。比如,用户很希望能查看一张表的schema,在MLSQL中需要这么用: run command ShowTab...

2019-04-11 21:33:00 151 1

原创 FUSE(FileSystem in User Space) 对算法的价值

前言 MLSQL 有一段时间致力于融合大数据平台和算法平台,实现 【同一个平台,同一个语言。】。事实上我们通过各种方式做到了,通过整合Spark ML,Spark ML周边,以及Python的支持(环境使用Conda)来完成,但是依然不够完美。为什么呢? 大数据和算法的计算模型的不一致性 大数据的...

2019-04-08 15:17:00 116 0

原创 用MLSQL完成简书图片备份

前言 我今天正好想做两个事,第一个是,我想把我简书内容备份下来,但是官方提供的备份功能只能备份成markdown,然后发现图片没办法备份。所以我需要把我简书里的所有图片下载下来。 第二个是,我要下载一些jar包,但是只有jar包的名字,没有下载链接,我想生成这些链接然后用wget下载下来。 作为一...

2019-03-28 17:50:00 165 0

原创 MLSQL Cluster 多Engine管理设计

前言 我之前写了篇很简单的去描述了MLSQL Cluster 路由策略。有朋友就问,有没有一个更清晰一点的设计说明。这篇内容就是为这个目标而写的。 场景 脱离场景说设计就是扯淡。所以,MLSQL Cluster适用的场景是是什么呢? 不同业务线需要不同的MLSQL Engine. 同一个业务线也...

2019-03-27 10:25:00 97 0

原创 对技术负债,技术和业务权衡和重构,重写,升级的一些看法

技术负债 在技术圈,有一个债务术语叫【技术负债】或者【技术债务】。【技术负债】带来的显性和隐性成本是非常高的。 显性的是技术不给力, 运营/产品/商业团队都很难受,而这种难受实际带来的损失会比想象的大,甚至对整个公司的前景都产生了影响。 第二个是隐性的,隐性的是指 虽然你随便找个团队都能把某件...

2019-03-26 17:27:31 284 0

原创 MLSQL如何帮助分析师更高效

前言 我之前写过一篇文章叫如何按程序员思维写分析师脚本,这里主要是在两方面帮助分析师: 将程序员一些较为高效的工作模式转移到分析师身上,这包括脚本片段复用,脚本include,工程项目,视图等。 MLSQL平台提供这些思维的功能支持。 迄今为止,在之前文章提到的所有功能点,都已经在MLSQL中...

2019-03-25 10:41:00 94 0

原创 MLSQL数据源开发指南

前言 MLSQL支持标准的Spark DataSource数据源。典型使用如下: load hive.`public.test` as test; set data=''' {"key":"yes","value&q...

2019-03-21 18:16:00 287 1

原创 MLSQL 编译时权限控制

前言 权限控制,对于MLSQL而言的重要程度可以说是生命线。 MLSQL需要面对各式各样的资源访问,比如MySQL, Oracle,HDFS, Hive,Kafka,Sorl,ElasticSearch,Redis,API,Web等等,不同用户对这些数据源(以及表,列)的权限是不一样的。 传统模式...

2019-03-21 16:00:00 100 0

原创 MLSQL Cluster 路由策略

前言 MLSQL Cluster 具备多MLSQL Engine 实例管理功能,实现负载均衡,多业务切分等等功能。 负载均衡 MLSQL Cluster 有一个和MLSQL Engine完全一致的 /run/script 接口,参数也是保持一致的。 如何查看该接口详细参数以及MLSQL Clus...

2019-03-20 10:25:00 110 0

原创 再谈数据中台是什么以及MLSQL为什么可以作为数据中台

昨天还是前天,正好看到朋友圈里大家都在发AI前线推的一篇文章。数据中台已成下一风口,它会颠覆数据工程师的工作吗?, 个人认为风口谈不上,但是确实是技术发展到一定程度的产物。这里的技术不仅仅是大数据,也是后端,前端技术前进的共同产物。N年前我们是想都不会想这件事情的,因为技术上很难达到。 文章认为数...

2019-03-19 11:06:00 823 1

原创 手动安装和启动MLSQL三套件

MLSQL-Engine clone项目 git clone git@github.com:allwefantasy/streamingpro.git 编译 cd streamingpro export MLSQL_SPARK_VERSION=2.4 ./dev/package.sh ...

2019-03-18 17:14:00 206 0

原创 MLSQL初学者常见问题QA(持续更新)

常见问题集锦 MLSQL 架构图有么? 数据源有详细参数配置文档么?... 后台是怎么区分batch还是streaming的?比如我load kafka,同时又load hbase,mysql或者es,这种情况下底层对应的作业时 streaming的还是batch的,逻辑都是在window范围内...

2019-03-16 22:36:00 254 0

原创 数据部门起步阶段需要建立数仓么?

之前我写了一篇关于数据中台和数仓的关系 的文章,里面理清了数仓和中台的关系。后面我了解到更通用的技术词汇去表达数据管理的两种方式: 数据联邦和数据仓储。 显然传统的数仓采用的是数据仓储的概念,而中台则更合适的是数据联邦,同时,在中台看来,实际的数据存储应该是联邦以及仓储混合的模式。 但是我发现很多...

2019-03-15 14:48:00 284 0

原创 MLSQL生态一键体验

前言 MLSQL Console是1.2.0发布前最重要的一个产品。MLSQL Console提供了除交互界面以外,还有很多其他重要的意义: 提供了一套自助化的用户账号和权限体系。 提供了脚本管理功能 展示了大量如何和MLSQL Cluster / MLSQL Engine 进行交互的方式,用户...

2019-03-13 22:25:00 190 0

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