Nimbus: Hulu的深度学习平台
Hulu整个AI Platform可以分为三层,从上到下依次是AI服务层,ML数据层,基础架构层。AI服务层主要是用于线上模型管理和部署,涉及到CICD, 监控,负载均衡等服务相关内容。ML数据层则包含了机器学习所用到的数据源,包含经过多个ETL pipeline清洗后生成的用于存放特征的数据仓库。最底层则是基础架构层,包括分布式存储,计算和调度等等,本文重点介绍这一层。
{关注大规模数据处理,包括Hadoop,YARN,Spark,Flink,Presto等}
Hulu整个AI Platform可以分为三层,从上到下依次是AI服务层,ML数据层,基础架构层。AI服务层主要是用于线上模型管理和部署,涉及到CICD, 监控,负载均衡等服务相关内容。ML数据层则包含了机器学习所用到的数据源,包含经过多个ETL pipeline清洗后生成的用于存放特征的数据仓库。最底层则是基础架构层,包括分布式存储,计算和调度等等,本文重点介绍这一层。
Sophon是Hulu在HOLAP的一个尝试。Hulu底层查询引擎采用Impala,前端可视化采用类似MSTR和Tableau这样的方案,而Sophon则是一个中间件,位于Impala查询系统和可视化系统之间,起到数据建模、数据缓存和数据路由等功能(具体可查看这篇文章)。本文重点讨论数据缓存部分的实现。
Impala是一个SQL on Hadoop的MPP查询引擎,由Cloudera主导开发并捐献给Apache软件基金会,在2017年底正式孵化成为Apache顶级项目。Impala在Hulu的数仓中有很多应用,我们对Impala做了一些内核级别的开发和优化,希望能与大家共同探讨。
MapReduce和Spark对外提供了上百个配置参数,用户可以为作业定制这些参数以更快,更稳定的运行应用程序。本文梳理了最常用的一些MapReduce和Spark配置参数。
个人谈谈阅读hadoop源代码的经验。
Spark Streaming是Spark生态系统中的重要组成部分,在实现上复用Spark计算引擎。Spark Streaming的优势是吞吐量大,响应时间也可以接受(秒级),并且兼容Spark系统中的其他工具库如MLlib和GraphX。对于时间不敏感且流量很大的系统,Spark Streaming是更优的选择。
同其他大部分分布式系统一样,Apache Mesos为了简化设计,也是采用了master/slave结构,为了解决master单点故障,将master做得尽可能地轻量级,其上面所有的元数 据可以通过各个slave重新注册而进行重构,故很容易通过zookeeper解决该单点故障问题。本文介绍了同其他大部分分布式系统一样,Apache Mesos为了简化设计,也是采用了master/slave结构,为了解决master单点故障,将master做得尽可能地轻量级,其上面所有的元数 据可以通过各个slave重新注册而进行重构,故很容易通过zookeeper解决该单点故障问题。
这篇文章是我来Hulu这一年做的主要工作,结合当下流行的两个开源方案Docker和YARN,提供了一… 继续阅读 Voidbox: Docker on Hadoop在hulu的实战
Google于2013年和2015年分别公开了它的实验和生产环境中使用的数据中心资源管理系统Omega和Borg,本文从笔者角度,对比了开源资源管理系统YARN/Mesos与Borg的差距。
在大数据处理场景中,多表Join是非常常见的一类运算。为了便于求解,通常会将多表join问题转为多个两表连接问题。两表Join的实现算法非常多,一般我们会根据两表的数据特点选取不同的join算法,其中,最常用的两个算法是map-side join和reduce-side join。本文将介绍如何在apache spark中实现这两种算法。