Yezhiwei Blog

平时多流汗,战时少流血!

统一开发工具配置

规范

为什么要统一开发工具 理论上无论使用哪个工个都可以,但是之前遇到过这样的情况,有人习惯使用 Eclipse 的自动格式化代码,每次提交代码都有一大堆的变化,仔细对比过后才发现仅是格式变化了,或是 improt 顺序变化了等等,多人提交代码时产生冲突,其实只是格式风险不一样,为了排除类似这样的困扰,使大家编码风格统一,所以,统一使用 IDEA 作为开发工具,代码格式和注释格式统一化。 统一编码...

大数据 ETL 处理工具 Kettle 常用输入输出

不会写代码也能实现爬虫功能(示例实现了爬取雪球数据)

相比现在流行大数据技术,你可能觉得 Kettle 的使用场景太少了,或者没有必要使用这么个玩意儿,查看了下 github kettle 发现最近也有一些更新,另外,对于没有编程经验的数据使用人员,使用非常简单的 Kettle,通过图形界面设计实现做什么业务,无需写代码去实现,就可以做一些实验,比如:抓取网站上的股票数据、外汇信息等等。 Kettle 支持很多种输入和输出格式,包括文本文件,数...

Excel数据模型自动生成Hive建表语句

最近在「空白女侠」公号上看到她回答了大家会困扰的精力问题,比如为什么我(空白女侠)能同时做那么多事情,精力那么充沛?工作中遵循一个真理: 复杂的事情简单化,简单的事情标准化,标准的事情流程化,流程化的事情工具化,工具化的事情自动化,无法自动化的事情外包化。 数据开发过程中,有些过程是可以工具化来提高工作效率,腾出更多的时间和精力去提高自己(摸鱼~) 工具化 在日常数据开发过程中,会经常需要根...

大数据 ETL 处理工具 Kettle 完成一个作业任务

作业流程 什么是作业流程 简单一句话,作业流程,即是对转换流程进行调度,也可以嵌套转换流程和作业流程。 在第二篇中介绍了一些核心概念,已经知道什么是转换等概念,第一篇中通过一个 HelloWorld 级别的实践,快速体验了一把「转换」的流程。 一个作业流程必须包含「START」 组件,可以没有「成功」组件,作业流程中可以嵌套转换流程和作业流程,如下图: 除了调度转换流程还可以做一些其他...

大数据 ETL 处理工具 Kettle 的核心概念

宏观了解 Kettle 上一篇中对 Kettle 进行了简单的介绍,并快速体验了一把 Kettle,完成了「把数据从 CSV 文件复制到 Excel 文件」 HelloWrold 级别的功能。 而在实际工作中,可以使用 Kettle 的图形化的方式定义复杂的 ETL 程序和工作流,如下图就是通过一系列的转换(Transformation) 完成一个作业(Job)流程。 Kettle 核心概...

大数据 ETL 处理工具 Kettle 入门实践

Kettle 简介 ETL(Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于数据开发人员来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种 ETL 工具的使用,必不可少,这里我们要学习的 ETL 工具就是 Kettle。 Kettle 是什么 Kettle 是一款国外开源的 ETL 工具,对商业用户也没有限制,纯 Java 编写,...

数据仓库开发规范

00背景 规范约束是数仓建设的全流程,以及后续的迭代和运维的参照。事实上,数仓规范文档,应该随着架构设计文档,在数仓开发启动之前,分发给所有相关人员,且是所有人都必须严格遵守的约定。 有人会问,没有规范直接开干,行吗?当然可以,在一些临时的短期项目,为了快速出活尽快看到效果,没有必要强制执行规范而影响了效率。但从个人专业素养的角度看,即使项目没有规范,该有的约定俗成的好习惯还是得有的,比如缩...

从0到1,四步搭建高价值指标体系

一、搭建指标体系应该从何开始 着手搭建指标体系前,先思考一下为什么要搭建指标体系。 德国哲学家马克斯·韦伯在谈到人的理性思考时曾提出两个概念:工具理性和价值理性。 工具理性是指,针对确定的目标,找到最有效的做事手段; 价值理性是指,针对要达到的这个目标做价值判断,是要先衡量目标的价值。 工具理性和价值理性只是角度不同,并无深浅或好坏之分,针对搭建指标体系这件事,作为数据分析师,我希望结果...

Uber的数据治理

数据赋能 Uber Uber 通过赋能数十亿打车和快递服务,连接数以百万计的乘客、企业、餐馆、司机和快递员,彻底改变了世界的出行方式。这个庞大的交通平台的核心是大数据和数据科学,它们支撑着 Uber 的所有工作,比如更好的定价和匹配、欺诈检测、降低预计达到时间(ETA)和实验。每天 PB 级的数据被收集和处理,成千上万用户根据这些数据进行分析决策,从而构建 / 改进这些产品。 规模扩展带来...

RabbitMQ消息100%投递的解决方案

一、前言 现在大多都使用 MQ 来做系统的异构,来做系统的解耦,系统的的模块相当于寄信者与收信者,MQ 则扮演者邮局的角色。作为一个中转的角色,就需要确保消息的100%投递。 今天我们就来研究一下如何确保消息的100%的投递。 二、先谈谈 RabbitMQ 的特性 RabbitMQ 所做的确保是:只要你把消息投递到 Broker 中,那么我就确保这个消息会送达到消费者的手中。 当然这是有前提...