摘要: Hive中提供了越来越多的分析函数,用于完成负责的统计分析。抽时间将所有的分析窗口函数理一遍,将陆续发布。今天先看几个基础的,SUM、AVG、MIN、MAX。用于实现分组内所有和连续累积的统计。 1.数据准备 本地文件上的文件 吧本地文件系统上的文件上传到hdfs上,并为此数据建立外部表 验证表中是 阅读全文
posted @ 2016-08-04 16:25 dongdone 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 一、r的防止字符转义 运行结果: 二、获取变量类型 运行结果: 三、判断类型 运行结果: 四、对list、tuple、dict、set进行迭代 4.1常用的方式 但是这种迭代方式会把list装到内存中进行迭代 4.2使用迭代器来迭代 这种方式的迭代比较省内存 4.3迭代值的同时迭代下标 五、列表生成 阅读全文
posted @ 2016-08-04 12:09 dongdone 阅读(11466) 评论(0) 推荐(1) 编辑
摘要: 首先要做的是将kettle在linux下搭建好。 一、搭建linux的kettle环境 1.1解压 1.2配置kettle_home 1.3需要把文件资源库的配置拷贝到linux环境下 1.4拷贝资源库到linux下 1.5修改.kettle目录下的资源库的映射 1.6吧mysql的驱动包放到ket 阅读全文
posted @ 2016-08-04 10:44 dongdone 阅读(2072) 评论(0) 推荐(1) 编辑
摘要: 一、 输入组件 1.1表输入 从指定的数据库中,通过sql语句来查询数据加载到内存。 允许简易转换:勾选后可以避免不必要的字段的数据类型转换,从而提高性能。 替换sql语句里的变量:勾选后可以通过${queryDate}来使用queryDate变量。 从步骤中插入数据:以上次的步骤中的数据作为数据的 阅读全文
posted @ 2016-08-03 15:52 dongdone 阅读(13887) 评论(1) 推荐(3) 编辑
摘要: 一、kettle的inner join 需求: 目前本地文件系统上有一个person.csv文件: 数据库中有一个person表: 现在需要将这两张表做inner join的操作。 1.1首先我们写一个转换,这个转换有两个输入,一个输入是表输入,一个是csv类型文件的输入 首先是表输入的配置: 为什 阅读全文
posted @ 2016-08-03 11:01 dongdone 阅读(26060) 评论(0) 推荐(0) 编辑
摘要: 在kettle中的转换或者作业等资源的存储的仓库称为资源库:分为文件资源库、数据库资源库。 一个转换或者作业可以属于某个资源库或者一个单独的文件形态存在。 一、数据库资源库 1.1在mysql中创建一个数据库作为数据库资源库 1.2创建数据库资源库工具--》资源库--》连接资源库--》点击加号--》 阅读全文
posted @ 2016-08-02 16:16 dongdone 阅读(16069) 评论(1) 推荐(1) 编辑
摘要: 1.首先创建一个job 2.拖拽组件形成下面的图 这里需要注意,在作业中的连线分为三类: 黄色锁的线:这个步骤执行之后,无论失败与否都会执行下一个步骤 绿色对号线:步骤执行成功了,才会执行下一个步骤。 红色叉号线:步骤执行失败了,才会执行下一个步骤。 3.配置转换文件 转换文件的存储位置最好和作业文 阅读全文
posted @ 2016-08-02 14:25 dongdone 阅读(1404) 评论(0) 推荐(0) 编辑
摘要: 本篇介绍使用kettle的一个最简单的例子,可以初步了解下转换。 需求是这样的: 存在一个本地csv文件,文件的内容如下 现在需要将csv中的数据保存到本地的文本文件中 1.创建一个转换,并且重命名 2.增加一个输入组件,可以读取csv文件 3.重命名该组件并且使得该组件读取本地文件系统上的stud 阅读全文
posted @ 2016-08-02 11:46 dongdone 阅读(675) 评论(0) 推荐(1) 编辑
摘要: 1.首先去官网下载安装包,这个安装包在所有平台上是通用的。 2.kettle是java语言开发的,所以需要配置JAVA_HOME 3.解压kettle的安装包 4.配置环境变量,KETTLE_HOME,这个目录是保存kettle配置文件的目录 5.配置完成后,运行data-integration目录 阅读全文
posted @ 2016-08-02 10:51 dongdone 阅读(1006) 评论(0) 推荐(0) 编辑
摘要: 一、同步类容器 同步类容器都是线程安全的,但在某些场景下可能需要加锁来保护复合操作。复合类操作如:迭代(反复访问元素,遍历完容器中的所有元素)、跳转(根据指定的顺序找到当前元素的下一个元素)、以及条件运算。这些复合操作在多线程并发的修改容器时,可能会表现出意外的行为,最经典的便是Concurrent 阅读全文
posted @ 2016-08-01 22:37 dongdone 阅读(1422) 评论(0) 推荐(0) 编辑