随笔分类 - 大数据
摘要:最近在做Python职位分析的项目,做这件事的背景是因为接触Python这么久,还没有对Python职位有一个全貌的了解。所以想通过本次分析了解Python相关的职位有哪些、在不同城市的需求量有何差异、薪资怎么样以及对工作经验有什么要求等等。分析的链路包括: 数据采集 数据清洗 异常的创建时间 异常
阅读全文
摘要:今天这篇文章源于上周在工作中解决的一个实际问题,它是个比较普遍的问题,无论做什么开发,估计都有遇到过。具体是这样的,我们有一份高校的名单(2657个),需要从海量的文章标题中找到包含这些高校的标题,其实就是模糊查询(关注公众号 渡码, 回复关键词 trie 获取源码)。对应的伪代码如下 select
阅读全文
摘要:最近想了解下程序员可以做什么副业,我抓取了各大网站关于程序员搞副业的文章,但抓取的文章较多,为了将相似的文章归拢到一起,我用聚类算法将文章划分到不同的主题。下面我就来介绍一下分析的结论以及过程。文末回复关键字即可获取本次分析源码。本次分析的文章是从博客园、CSDN、知乎、今日头条和微信上抓取,共1
阅读全文
摘要:最近有不少程序员又开始找工作了,为了了解目前技术类各职位的数量、薪资、招聘公司、岗位职责及要求,我爬取了拉勾网北上广深4个城市的招聘数据,共3w条。职位包括:人工智能(AI)、大数据、数据分析、后端(Java、C|C++、PHP、Python)、前端、Android、iOS、嵌入式和测试。下面我将分
阅读全文
摘要:最近有不少程序员又开始找工作了,为了了解目前技术类各职位的数量、薪资、招聘公司、岗位职责及要求,我爬取了拉勾网北上广深4个城市的招聘数据,共3w条。职位包括:人工智能(AI)、大数据、数据分析、后端(Java、C|C++、PHP、Python)、前端、Android、iOS、嵌入式和测试。从数据爬取
阅读全文
摘要:今天这篇文章主要介绍数据湖(data lake)的定义,其次介绍各大云厂商的解决方案以及目前的开源解决方案。 定义 看下维基百科的定义:数据湖是一个以原始格式(通常是对象块或文件)存储数据的系统或存储库。数据湖通常是所有企业数据的单一存储。用于报告、可视化、高级分析和机器学习等任务。数据湖可以包括来
阅读全文
摘要:最近在做大数据处理时,遇到两个大表 join 导致数据处理太慢(甚至算不出来)的问题。我们的数仓基于阿里的 ODPS,它与 Hive 类似,所以这篇文章也适用于使用 Hive 优化。处理优化问题,一般是先指定一些常用的优化参数,但是当设置参数仍然不奏效的时候,我们就要结合具体的业务,在 SQL 上做
阅读全文
摘要:Protoc Buffer 是我们比较常用的序列化框架,Protocol Buffer 序列化后的占空间小,传输高效,可以在不同编程语言以及平台之间传输。今天这篇文章主要介绍 Protocol Buffer 使用 VarInt32 减少序列化后的数据大小。 VarInt32 编码 VarInt32
阅读全文
摘要:说起 RPC (远程过程调用),大家应该不陌生。随着微服务、分布式越来越流行,RPC 应用越来越普遍。常见的 RPC 框架如:Dubbo、gRPC、Thrift 等。本篇文章不是介绍各种 RPC 的使用和对比。而是深入剖析一个 RPC 包含哪些内容。我最近在 Hadoop 的源码,正好把 Hadoo
阅读全文
摘要:流处理是 Flink 的核心,流处理的数据集用 DataStream 表示。数据流从可以从各种各样的数据源中创建(消息队列、Socket 和 文件等),经过 DataStream 的各种 transform 操作,最终输出文件或者标准输出。这个过程跟之前文章中介绍的 Flink 程序基本骨架一样。本
阅读全文
摘要:定义 在数据分析场景中,我们可能会遇到这样的问题。例如,我们要做一个推荐系统,如果我们用批处理任务去做,一天或者一小时的推荐频次明显延迟太大。如果用流处理任务,虽然延迟的问题解决了,然而只用实时数据而没有历史数据,那么准确性就无法保证。因此需要结合批处理的历史数据和流处理的实时数据进行处理,既能保证
阅读全文
摘要:上一篇介绍了编写 Flink 程序的基本步骤,以及一些常见 API,如:map、filter、keyBy 等,重点介绍了 keyBy 方法。本篇将继续介绍 Flink 中常用的 API,主要内容为 指定 transform 函数 Flink 支持的数据类型 累加器 指定 transform 函数 许
阅读全文
摘要:Flink使用 DataSet 和 DataStream 代表数据集。DateSet 用于批处理,代表数据是有限的;而 DataStream 用于流数据,代表数据是无界的。数据集中的数据是不可以变的,也就是说不能对其中的元素增加或删除。我们通过数据源创建 DataSet 或者 DataStream
阅读全文
摘要:最近打算研究研究 Flink,根据官方文档写个 Hello,World。入门还是比较容易的,不需要复杂的安装环境、配置。这篇文章简单介绍 Flink 的使用感受以及入门。 感受 搭建环境方便:Flink 可以在 Windows 下运行与开发。对于喜欢 Windows 下开发的人,可以免去搭建虚拟机的
阅读全文
摘要:在大数据处理以及分析中 SQL 的普及率非常高,几乎是每一个大数据工程师必须掌握的语言,甚至非数据处理岗位的人也在学习使用 SQL。今天这篇文章就聊聊 SQL 在数据分析中作用以及掌握 SQL 的必要性。 SQL解决了什么问题 SQL的中文翻译为:结构化查询语言。这里面有三层含义:首先这是一门编程语
阅读全文
摘要:本章来简单介绍下 Hadoop MapReduce 中的 Combiner。Combiner 是为了聚合数据而出现的,那为什么要聚合数据呢?因为我们知道 Shuffle 过程是消耗网络IO 和 磁盘IO 比较大的操作,如果我们能减少 Shuffle 过程的数据量,那就可以提升整个 MR 作业的性能。
阅读全文
摘要:本章内容我们学习一下 MapReduce 中的 Shuffle 过程,Shuffle 发生在 map 输出到 reduce 输入的过程,它的中文解释是 “洗牌”,顾名思义该过程涉及数据的重新分配,主要分为两部分:1. map 任务输出的数据分组、排序,写入本地磁盘 2. reduce 任务拉取排序。
阅读全文
摘要:前几章我们介绍了 Hadoop 的 MapReduce 和 HDFS 两大组件,内容比较基础,看完后可以写简单的 MR 应用程序,也能够用命令行或 Java API 操作 HDFS。但要对 Hadoop 做深入的了解,显然不够用。因此本章就深入了解一下 MapReduce 应用的运行机制,从而学习
阅读全文
摘要:本章内容介绍下 Hadoop 自带的分布式文件系统,HDFS 即 Hadoop Distributed Filesystem。HDFS 能够存储超大文件,可以部署在廉价的服务器上,适合一次写入多次读取的场景。但 HDFS 不适合低延迟,存储大量小文件以及修改文件内容的场景。HDFS 应用比较广泛,如
阅读全文
摘要:上一章的 MapReduce 应用中,我们使用了自定义配置,并用 GenericOptionsParser 处理命令行输入的配置,这种方式简单粗暴。但不是 MapReduce 应用常见的写法,本章第一部分将介绍 MapReduce 应用常见的写法,并详细介绍自定义配置以及命令行选项,通过自定义配置我
阅读全文
浙公网安备 33010602011771号