自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(274)
  • 收藏
  • 关注

转载 Kettle性能优化

Kettle性能优化是一个系统工程,不仅涉及工具本身的优化,更涉及ETL工具之外的诸多因素,比如,ETL要读取数据库,那么目标DMBS的性能,SQL语句,网络等相关因素都影响到执行效率。根据Kettle对数据ETL的过程性能调优,主要取决于三个因素:上游渠道,工具的大小与数量,下游渠道。一 Kettle调优调整JVM大小进行性能优化,修改Kettle定时任务中的Kitchen或Pan或Sp...

2019-10-11 14:48:45 1904

转载 Kettle性能调优汇总

性能调优在整个工程中是非常重要的,也是非常有必要的。但有的时候我们往往都不知道如何对性能进行调优。其实性能调优主要分两个方面:一方面是硬件调优,一方面是软件调优。本章主要是介绍Kettle的性能优化及效率提升。一、Kettle调优1、调整JVM大小进行性能优化,修改Kettle定时任务中的Kitchen或Pan或Spoon脚本。 修改脚本代码片段 set ...

2019-10-11 14:40:50 537

转载 impala与hive的比较以及impala的有缺点

最近读的几篇关于impala的文章,这篇良心不错:https://www.biaodianfu.com/impala.html(本文截取部分内容) Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎...

2019-07-25 16:31:39 345

转载 hive按当天日期建立分区表 | 动态往日期分区插入数据

hive建立分区表,以当天日期(“2014-08-15”)作为分区依据,hql如下:CREATE EXTERNAL TABLE IF NOT EXISTS product_sell(category_id BIGINT,province_id BIGINT,product_id BIGINT,price DOUBLE,sell_num BIGINT)PARTITIONED BY ...

2019-07-18 19:26:27 7293 1

转载 Hive分桶表及抽样查询

抽样查询对于非常大的数据集,用户不需要全部查询的结果,只需要一个代表性的查询结果时,可以通过对表进行分桶抽样。Hive分桶表先介绍一下Hive桶。桶是比表或分区更为细粒度的数据范围划分。针对某一列进行桶的组织,对列值哈希,然后除以桶的个数求余,决定将该条记录存放到哪个桶中。好处:1、获得更高的查询处理效率。2、使抽样更高效。创建带桶的table:create tab...

2019-07-18 19:24:54 359

转载 hive 中的二级分区表和动态分区表

二级分区表/管理表:create table emp_part1(empno int,empname string,empjob string,mgrno int,birthday string,salary float,bonus float,deptno int)partitioned by (day string,hour string)r...

2019-07-18 19:23:02 674

转载 Hive的分区表和分桶表的区别

1.Hive分区。是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这个情况下,我们可以按照日期对数据表进行分区,不同日期的数据存放在不同的分区,在查询时只要指定分区字段的值就可以直接从该分区查找。...

2019-07-18 11:46:55 184

转载 Hive总结2(分区+分桶+查询)

Hive是一个数据仓库 ,保存的半结构化数据 文本。Hive不支持:事务,不支持索引(但可以通过分桶实现快速的查询,hash)类似的分布的nosql(Not Only Sql数据库:hbase - Phoinex(凤凰)Hive的功能,就是做mapreduce。分区:就是在可控制的情况下,将数据放到不同的目录下。减小查询的范围。 并不能加快查询的速度。还是要查询所...

2019-07-18 11:25:49 1199

转载 Hive 分区表和二级分区表的基本操作

Hive分区就是在HDFS上创建独立的文件夹,该文件夹下是该分区的所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERE子句中的表达式选择来查询所需要的指定分区,这样的查询效率会提高很多。1、引入分区表最终呈现的效果就是在HDFS上按照分区的目录存储文件:/user/hive/warehose/log/201801/01/dep...

2019-07-18 11:12:02 1443

转载 Hive修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作

Alter Table 语句Hive修改表名,列名,列注释,表注释,增加列,调整列顺序,属性名等操作它是在Hive中用来修改的表。语法声明接受任意属性,我们希望在一个表中修改以下语法。 ALTER TABLE name RENAME TO new_name ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ......

2019-07-18 10:05:33 320

转载 shell中判断hive表分区是否存在

判断当日分区是否有数据,如果有执行任务,没有就退出 主要思路是如果分区存在且有数据,hdfs文件系统下的对应表分区下会有part-m-00000这个文件(不一定是这个名字,具体要用hadoop fs -ls /user/hive/warehouse/查看)temp0="part-" # 这里只取了"part-"这个字段 temp1=`hadoop fs -ls /use...

2019-07-16 15:06:43 2363

转载 在shell中如何判断HDFS中的文件目录是否存在

在Linux文件系统中,我们可以使用下面的Shell脚本判断某个文件是否存在: # 这里的-f参数判断$file是否存在 if [ ! -f "$file" ]; then   echo "文件不存在!" fi 但是我们想判断HDFS上某个文件是否存在咋办呢?别急,Hadoop内置提供了判断某个文件是否存在的命令: [iteblog@www...

2019-07-16 15:04:52 503

转载 shell脚本调用hive示例

方法一: 建立shell脚本如下run.sh如下:#!/bin/sh #参数传递 source/etc/profile; source~/.bash_profile; BASEDIR=`dirname$0` cd$BASEDIR #classpath优先当前目录 CLASSPATH=$BASEDIR ...

2019-07-16 15:02:54 1865 1

转载 shell中循环调用hive sql 脚本

hive-S-e'uselogdb;showtables;'>table.txtwhilereadtabledoecho$tablehive-S-e"uselogdb;showcreatetable$table"done<table.txt脚本tt.sh的内容如下:#!/bin/bashparams=$1for ...

2019-07-16 15:01:38 2534

转载 awk统计文本里某一列重复出现的次数

比如这样的场景:现在有一个文本,里面是这样的内容:NOTICE: 12-14 15:11:13: parser.* 6685 url=[http://club.pchome.net/thread_1_18_7283270___TRUE.html] get_tm=115 PAGE=15471[Z]:59066 css_tm=1043 css_res=0/4[0] CONT=3230[Z]:...

2019-07-16 14:58:26 9249

转载 Linux中使用sed命令替换字符串小结

sed替换的基本语法为:sed 's/原字符串/替换字符串/'单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,例如:sed "s/原字符串包含'/替换字符串包含'/" //要处理的字符包含单引号命令中的三根斜线分隔符可以换成别的符号,这在要替换...

2019-07-16 14:57:37 662

转载 Linux shell if判断语句

无论什么编程语言都离不开条件判断。SHELL也不例外。大体的格式如下:if list thendo something hereelif list thendo another thing hereelsedo something else herefi一个例子:#!/bin/shSYSTEM=`uname -s` # 获取操作系统类型,我本地是linuxif [ ...

2019-07-16 14:56:52 705

转载 在shell中判断hive查询记录数大小

用途: 根据查询到结果数量来判断,是否需要再执行下个脚本。1. 查询语句script.q脚本如下: select count(1) as count from test;2. shell脚本如下:这里注意hive语句需要包裹在``(左上角~按键)里面,然后可以把输出的结果赋值给一个变量。#!/bin/shcount=`beeline --silent=true --o...

2019-07-16 14:56:03 1672 1

转载 Shell脚本执行hive语句 | hive以日期建立分区表 | linux schedule程序 | sed替换文件字符串 | shell判断hdfs文件目录是否存在

#!/bin/bashsource /etc/profile;################################################### Author: ouyangyewei ## ## Content: ...

2019-07-16 14:54:29 236

转载 shell脚本判断hive表是否存在

#!/bin/bash#日志目录#shell判断表hive表是否存在#TABLE=库名.表名TABLE=dal.dal_mdn_communication_behaviorhive -e"desc $TABLE;" 2>&1 | grep 'Table not found'rtstatus=$?echo $rtstatusif [ $rtstatus -...

2019-07-16 14:42:14 2495

转载 hive sql执行计划树解析

如下两个SQL语句,一般意义上大家都认为第二个执行更快,执行完大家就会发现第一个耗时149s,第二个耗时160s,可以说两个的执行计划近乎相同,有兴趣的同学可以看下下面的语法树。 注:等值连接,两者没什么差别;但是外连接,只有第二种能保证查询结果正确,因为外连接先执行join操作,reduce时候执行where操作 hql1: hive -e "use acorn_...

2019-07-10 11:05:34 915

转载 如何每日增量加载数据到Hive分区表

加载数据数据加载到Hive分区表(两个分区,日期(20160316)和小时(10))中每日加载前一天的日志文件数据到表db_track.track_log1. 数据存储数据日志文件,放入某个目录下,每天日志文件放入同一个目录eg: 20160316 - 目录名称日志文件数据,每个小时生成一个文件,一天总共有二十四个文件eg: 20160318202. shell脚本编写...

2019-07-10 10:38:52 1739

转载 Hive 执行计划

执行语句hive> explain select s.id, s.name from student s left outer join student_tmp st on s.name = st.name;结果,红色字体为我添加的注释hive> explain select s.id, s.name from student s left outer join stu...

2019-07-10 10:37:09 407

转载 hive多个left join执行计划顺序

先说明2点:1、leftjoin是逻辑操作符,只用于保证“数据正确”2、优化器才是最终决定执行顺序的地方,一般来说会按照你的意愿顺序去执行,但是并不完全能保证。回答你的问题:1.求教多个leftjoin怎么执行eg:select*fromaleftjoinbona.abid=b.baidleftjoinconc.cbid=b.bcid...

2019-07-10 10:34:56 11525 3

转载 Hive常用命令与内容

1、创建普通表create table test(id string,name string)row format delimited fields terminated by ','stored as textfile;查看在HDFS上面储存的路径 hadoop fs -ls /user/hive/warehouse/test2、加载数据本地加载:load data loc...

2019-07-09 11:05:50 330

转载 impala-shell 命令行选项

impala-shell 命令行选项你可以在启动impala-shell时设置以下选项,用于修改命令执行环境。Note:这些选项与 impalad 守护进程的配置选项不同。关于impalad 选项,参见Modifying Impala Startup Options。 选项 描述 -B or --delimited ...

2019-07-09 10:38:34 514

转载 impala的shell命令使用

1. 登录本次登录使用的是impala与LDAP集成后的登录[root@cdh-server1 ~]# impala-shell -i 127.0.0.1:21000 -u admin_lcc -l --auth_creds_ok_in_clear/usr/bin/impala-shell: line 47: warning: setlocale: LC_CTYPE: cannot cha...

2019-07-09 09:38:38 1872 1

转载 Hive函数之行转列

介绍三种常用函数,空字段赋值,行转列,case when,一、NVL函数空字段赋值,语法:nvl(string1,replaceValue),当某值为空时调用,二、case when就相当于java中switch case,记得最后一定要加end,else就相当于java中的defalut举例:selectdept_id,sum(case sex when '...

2019-07-08 19:31:57 1122

转载 数据平台维度模型设计十个技巧

了解过数据仓库历史的人都知道Bill Inmon、 Ralph Kimball。 Bill Inmon 代表作《Building the Data WareHouse》 , Ralph Kimball代表作为 《The Data Warehouse Toolkit》、《The data Warehouse lifecycle》。两位大师对数据模型都分别作了深入阐述,个人理解的数据模型是数据平台的灵...

2019-07-04 15:45:21 869

转载 Hive修改表

Alter Table 语句它是在Hive中用来修改的表。语法声明接受任意属性,我们希望在一个表中修改以下语法。ALTER TABLE name RENAME TO new_nameALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])ALTER TABLE name DROP [COLUMN] column_name...

2019-07-03 15:26:25 128

转载 hivesql中的concat函数,concat_ws函数,concat_group函数之间的区别

一、CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串。使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name |+----+--------+| 1 | BioCyc |+----+--------+1、语法及使用特点:CONCAT(s...

2019-07-01 16:48:08 4001

转载 Hive 行列转换

一、列转行(对某列拆分,一列拆多行)使用函数:lateral view explode(split(column, ',')) numeg: 如表:t_row_to_column_tmp 数据如下,对tag列进行拆分SQL代码:select id,tag,tag_new from t_row_to_column_tmplateral view explode(spl...

2019-07-01 16:28:45 147

转载 hive中对多行进行合并—collect_set&collect_list函数

最近在项目中清洗了一些埋点的数据,要求是将一张表中特定字段的行进行合并,并且不对重复的数据进行去重如下,数据形式如下,要对from字段进行进行合并:一开始用collect_set函数实现,发现对字段进行去重了,后来发现collect_list函数可以实现,现将两者的区别总结如下:1、concat_ws和collect_set()函数实现(对某列进行去重)其作用是将多行某些列的多行进行去...

2019-07-01 16:23:17 2335

转载 【Impala篇】---Hue从初始到安装应用

一、前述Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点 是CDH平台首选的PB级大数据实时查询分析引擎.一般公司选择使用CDH部署集群,可以考虑下Impala。二、具体原理优点:1、基于内存进行计算,能够对PB级数据进行交互式实时查询、分析 2、无需转换为MR,直...

2019-07-01 16:21:04 345

转载 Impala 代替 hive COLLECT_SET函数的方式

背景之前是在HIVE上开发,GROUP BY 某些字段后,其他字段使用COLLECT_SET(ITEM)[0]的方式取相同字段值中的一个,而在Impala上没有COLLECT_SET函数。方案使用GROUP_CONCAT函数+SPLIT_PART函数替代## IMPALASELECT SCORE,SPLIT_PART(GROUP_CONCAT(NAME),',',1) FROM TE...

2019-07-01 16:20:02 3232

转载 awk实现join

awk 有时确实比较省事,做些简单的文本处理,还是很方便的,在这介绍下两个文件的join的操作。原始文本bb.txt 1 2 a 10 b 12 cc.txt 1 2 3 a 11 b 13 c 15 awk join主要是用到连个内置的变量 NR,FNR...

2019-06-28 15:44:23 756

转载 数据仓库数据模型之:极限存储–历史拉链表

在数据仓库的数据模型设计过程中,经常会遇到这样的需求:数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有1000万的会员,每天新增和发...

2019-06-28 15:35:04 354

转载 累积快照事实表

累积快照事实表的行汇总了发生在过程开始和结束之间可预测步骤内的度量事件。管道或工作流过程(例如,履行订单或索赔过程)具有定义的开始点,标准中间过程,定义的结束点,它们在此类事实表中都可以被建模。通常在事实表中针对过程中的关键步骤都包含日期外键。累积快照事实表中的一行,对应某一具体的订单,当订单产生时会插入一行。当管道过程发生时,累积事实表行被访问并修改。这种对累积快照事实表行的一致性修改在三种类型...

2019-06-28 14:30:33 1175

转载 周期快照事实表和累计快照事实表

累计快照事实表的这种最简单的实现方法中没有给出保留中间点的历史信息的方法,如订单本身的变化。至少有三种方法可以用来捕获这种中间的状态的变化:1.在诸如月末等的固定时间间隔对累计快照再进行快照处理,即联合使用周期快照和累计快照技术。这种累计快照的周期快照事实表应该被建立为单独的事实表,可以降低应用的复杂性。在这样建立的快照表中,好处是在订单存活期间,每个月可以得到这个订单变化的一条记录,坏处...

2019-06-28 14:27:49 5781

转载 交易事实表、周期快照事实表和累积快照事实表

在数据仓库领域有一个概念叫Transaction fact table,中文一般翻译为“事务事实表”。事务事实表是维度建模的数据仓库中三种基本类型事实表中的一种,另外两种分别是周期快照事实表和累积快照事实表。事务事实表与周期快照事实表、累积快照事实表使用相同的一致性维度,但是它们在描述业务事实方面是有着非常大的差异的。事务事实表记录的事务层面的事实,保存的是最原子的数据,也称“原子事实表”。...

2019-06-28 14:21:02 2682

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除