摘要:一、前言 在解决昨天的问题时,又引出了很多新的问题,如为什么要进行编码,这些编码的关系如何,如ASCII,IOS-8859-1,GB2312,GBK,Unicode之间的关系,笔者想要彻底理解字符编码背后的故事,遂进行了探索,具体笔记如下。如园友能读完本篇文章,我相信会解开很多疑惑。 二、字符编码 阅读全文
posted @ 2016-03-25 10:46 leesf 阅读(25969) 评论(9) 推荐(45) 编辑
摘要:一、前言 相信大家平时肯定会收到朋友发来的链接,打开一看,哦,需要投票。投完票后弹出一个页面(恭喜您,您已经投票成功),再次点击的时候发现,啊哈,您的IP(***.***.***.***)已经投过票了,不能重复投票。这时候,我们可能会想,能不能突破ip地址的限制进行刷票呢?有了这样的想法,那就去做吧 阅读全文
posted @ 2016-01-30 08:49 leesf 阅读(12403) 评论(28) 推荐(27) 编辑
摘要:一个近期由Hudi PMC & Uber Senior Engineering Manager Nishith Agarwal分享的Talk 关于Nishith Agarwal更详细的介绍,主要从事数据方面的工作,包括摄取标准化,数据湖原语等。 什么是数据湖?数据湖是一个集中式的存储,允许以任意规模 阅读全文
posted @ 2020-06-27 21:30 leesf 阅读(107) 评论(0) 推荐(0) 编辑
摘要:1. 引入 开源Apache Hudi项目为Uber等大型组织提供流处理能力,每天可处理数据湖上的数十亿条记录。 随着世界各地的组织采用该技术,Apache开源数据湖项目已经日渐成熟。 Apache Hudi(Hadoop Upserts Deletes and Incrementals)是一个数据 阅读全文
posted @ 2020-06-21 12:43 leesf 阅读(51) 评论(0) 推荐(0) 编辑
摘要:1. 下载连接 源代码下载:Apache Hudi 0.5.3 Source Release (asc, sha512) 0.5.3版本相关jar包地址:https://repository.apache.org/#nexus-search;quick~hudi 2. 迁移指南 这是一个bugfix 阅读全文
posted @ 2020-06-19 09:41 leesf 阅读(159) 评论(0) 推荐(0) 编辑
摘要:1. 引入 大多数现代数据湖都是基于某种分布式文件系统(DFS),如HDFS或基于云的存储,如AWS S3构建的。遵循的基本原则之一是文件的“一次写入多次读取”访问模型。这对于处理海量数据非常有用,如数百GB到TB的数据。 但是在构建分析数据湖时,更新数据并不罕见。根据不同场景,这些更新频率可能是每 阅读全文
posted @ 2020-06-15 09:27 leesf 阅读(187) 评论(0) 推荐(0) 编辑
摘要:1. 引言 从确保准确预计到达时间到预测最佳交通路线,在Uber平台上提供安全、无缝的运输和交付体验需要可靠、高性能的大规模数据存储和分析。2016年,Uber开发了增量处理框架Apache Hudi,以低延迟和高效率为关键业务数据管道赋能。一年后,我们开源了该解决方案,以使得其他有需要的组织也可以 阅读全文
posted @ 2020-06-11 09:29 leesf 阅读(188) 评论(0) 推荐(1) 编辑
摘要:通过Spark作业将数据写入Hudi时,Spark应用的调优技巧也适用于此。如果要提高性能或可靠性,请牢记以下几点。 **输入并行性:**Hudi对输入进行分区默认并发度为1500,以确保每个Spark分区都在2GB的限制内(在Spark2.4.0版本之后去除了该限制),如果有更大的输入,则相应地进 阅读全文
posted @ 2020-06-06 15:54 leesf 阅读(113) 评论(0) 推荐(0) 编辑
摘要:马萨诸塞州韦克菲尔德(Wakefield,MA)- 2020年6月 - Apache软件基金会(ASF)、350多个开源项目和全职开发人员、管理人员和孵化器宣布:Apache Hudi正式成为Apache顶级项目(TLP)。在投票表决Hudi毕业时,Hudi总共获得了19票binding(其中包括A 阅读全文
posted @ 2020-06-05 13:42 leesf 阅读(343) 评论(2) 推荐(0) 编辑
摘要:1. 可用性 在Hudi最新master分支,由Hudi活跃贡献者Raymond Xu贡献了DataDog监控Hudi应用指标,该功能将在0.6.0 版本发布,也感谢Raymond的投稿。 2. 简介 Datadog是一个流行的监控服务。在即将发布的Apache Hudi 0.6.0版本中,除已有的 阅读全文
posted @ 2020-06-03 20:17 leesf 阅读(88) 评论(0) 推荐(0) 编辑
摘要:本篇文章主要介绍Hudi在医疗大数据中的应用,主要分为5个部分进行介绍:1. 建设背景,2. 为什么选择Hudi,3. Hudi数据同步,4. 存储类型选择及查询优化,5. 未来发展与思考。 1. 建设背景 我们公司主要为医院建立大数据应用平台,需要从各个医院系统中抽取数据建立大数据平台。如医院信息 阅读全文
posted @ 2020-05-29 23:54 leesf 阅读(178) 评论(0) 推荐(0) 编辑
摘要:1. 引入 线上用户反馈使用Presto查询Hudi表出现错误,而将Hudi表的文件单独创建parquet类型表时查询无任何问题,关键报错信息如下 报Hudi表中文件格式不是合法的parquet格式错误。 2. 问题复现 开始根据用户提供的信息,模拟线上Hudi数据集大小、Presto和Hudi版本 阅读全文
posted @ 2020-05-23 18:39 leesf 阅读(136) 评论(0) 推荐(0) 编辑
摘要:1.近实时摄取 将数据从外部源如事件日志、数据库提取到 "Hadoop数据湖" 中是一个很常见的问题。在大多数Hadoop部署中,一般使用混合提取工具并以零散的方式解决该问题,尽管这些数据对组织是非常有价值的。 对于RDBMS摄取,Hudi通过Upserts提供了更快的负载,而非昂贵且低效的批量负载 阅读全文
posted @ 2020-05-19 18:49 leesf 阅读(269) 评论(0) 推荐(0) 编辑
摘要:1. 准备 Hudi支持Spark 2.x版本,你可以点击如下 "链接" 安装Spark,并使用pyspark启动 spark avro模块需要在 packages显示指定 spark avro和spark的版本必须匹配 本示例中,由于依赖spark avro_2.11,因此使用的是scala2.1 阅读全文
posted @ 2020-05-10 16:12 leesf 阅读(154) 评论(0) 推荐(0) 编辑
摘要:是的,最近国内云服务提供商腾讯云在其EMR V2.2.0版本中优先集成了Hudi 0.5.1版本作为其云上的数据湖解决方案对外提供服务 Apache Hudi 在 HDFS 的数据集上提供了插入更新和增量拉取的流原语。 一般来说,我们会将大量数据存储到 HDFS,新数据增量写入,而旧数据鲜有改动,特 阅读全文
posted @ 2020-05-09 13:58 leesf 阅读(1250) 评论(0) 推荐(0) 编辑
摘要:1. 简介 Apache Zeppelin 是一个提供交互数据分析且基于Web的笔记本。方便你做出可数据驱动的、可交互且可协作的精美文档,并且支持多种语言,包括 Scala(使用 Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、 阅读全文
posted @ 2020-04-28 09:17 leesf 阅读(190) 评论(0) 推荐(0) 编辑
摘要:1. 引入 云上对象存储的廉价让不少公司将其作为主要的存储方案,而Hudi作为数据湖解决方案,支持对象存储也是必不可少。之前AWS EMR已经内置集成Hudi,也意味着可以在S3上无缝使用Hudi。当然国内用户可能更多使用阿里云OSS作为云上存储方案,那么如果用户想基于OSS构建数据湖,那么Hudi 阅读全文
posted @ 2020-04-25 14:58 leesf 阅读(226) 评论(0) 推荐(0) 编辑
摘要:1. 项目背景 传统数仓的组织架构是针对离线数据的OLAP(联机事务分析)需求设计的,常用的导入数据方式为采用sqoop或spark定时作业逐批将业务库数据导入数仓。随着数据分析对实时性要求的不断提高,按小时、甚至分钟级的数据同步越来越普遍。由此展开了基于spark/flink流处理机制的(准)实时 阅读全文
posted @ 2020-04-18 22:21 leesf 阅读(559) 评论(0) 推荐(0) 编辑
摘要:感谢 Apache Hudi contributor:王祥虎 翻译&供稿。 欢迎关注微信公众号:ApacheHudi 本文将介绍Apache Hudi的基本概念、设计以及总体基础架构。 1.简介 Apache Hudi(简称:Hudi)使得您能在hadoop兼容的存储之上存储大量数据,同时它还提供两 阅读全文
posted @ 2020-04-16 05:34 leesf 阅读(1005) 评论(0) 推荐(0) 编辑
摘要:1. 概述 当向Flink集群提交用户作业时,从用户角度看,只需要作业处理逻辑正确,输出正确的结果即可;而不用关心作业何时被调度的,作业申请的资源又是如何被分配的以及作业何时会结束;但是了解作业在运行时的具体行为对于我们深入了解Flink原理有非常大的帮助,并且对我们如何编写更合理的作业逻辑有指导意 阅读全文
posted @ 2020-01-24 21:21 leesf 阅读(404) 评论(1) 推荐(0) 编辑
摘要:1. 前言 Flink提供了两种在yarn上运行的模式,分别为Session Cluster和Per Job Cluster模式,本文分析两种模式及启动流程。 下图展示了Flink On Yarn模式下涉及到的相关类图结构 2. Session Cluster模式 Session Cluster模式 阅读全文
posted @ 2019-07-05 09:21 leesf 阅读(4317) 评论(0) 推荐(2) 编辑
摘要:1. 前言 对于Flink中各个组件(JobMaster、TaskManager、Dispatcher等),其底层RPC框架基于Akka实现,本文着重分析Flink中的Rpc框架实现机制及梳理其通信流程。 2. Akka介绍 由于Flink底层Rpc是基于Akka实现,我们先了解下Akka的基本使用 阅读全文
posted @ 2019-07-02 13:13 leesf 阅读(793) 评论(0) 推荐(1) 编辑
摘要:前言 项目使用SSM框架搭建Web后台服务,前台后使用 ,后台使用MyBatisGenerator自动生成代码,在前台使用关键字进行查询时,遇到了一些很宝贵的坑,现记录如下。为展示所遇问题,将项目进行了精简。 项目框架 后台框架 后台框架选型为 ,其中使用 创建代码, 为内嵌的Web服务器。 项目代 阅读全文
posted @ 2018-03-16 21:13 leesf 阅读(1117) 评论(0) 推荐(2) 编辑
摘要:前言 中的 提供了很多方法供所有的类使用,特别是 、`hashCode equals getClass Guava Objects`类,其提供了很多更为强大的方法。 Objects 是`Object equal toStringHelper`等方法,下面根据一个示例来分析源码。 示例 运行结果: t 阅读全文
posted @ 2018-01-28 08:48 leesf 阅读(389) 评论(0) 推荐(1) 编辑
摘要:导读 在2017年的尾巴,回顾过去一整年,有些成长收获,有些失落惆怅;好的坏的,经历过的,都需要重温,算是对2017年的正式告别。 回顾 过去看现在 在 "2016年度总结" 中,有对2017年的展望。 技术书籍的学习,完成度90%,其中对于 源码学习部分并未开展,只是学习部分原理讲解内容,其他技术 阅读全文
posted @ 2017-12-30 21:26 leesf 阅读(1053) 评论(3) 推荐(7) 编辑
摘要:流概念 Data Streams上的关系查询 与`stream processing`对比如下。 | SQL | Stream Processing | | : | : | | 有限元组 | 无限元组 | | 完整数据集上的查询 | 无法基于所有数据查询 | | 查询会结束 | 查询不会结束 | M 阅读全文
posted @ 2017-12-12 14:52 leesf 阅读(4671) 评论(0) 推荐(2) 编辑
摘要:前言 前面学习了简单的 知识,接着学习更高阶的 技术。 高级技术 Spring MVC配置的替换方案 自定义DispatcherServlet配置 在第五章我们曾编写过如下代码。 可以看到 实现了 抽象类,并重写了三个必须的方法,实际上还可对更多方法进行重写,以便实现额外的配置,如对 方法进行重写, 阅读全文
posted @ 2017-11-18 18:47 leesf 阅读(1798) 评论(0) 推荐(3) 编辑