数据仓库
文章平均质量分 61
yfk
这个作者很懒,什么都没留下…
展开
-
hive merge小文件
当Hive输入由很多个小文件组成,由于每个小文件都会启动一个map任务,如果文件过小,以至于map任务启动和初始化的时间大于逻辑处理的时间,会造成资源浪费,甚至OOM。为此,当我们启动一个任务,发现输入数据量小但任务数量多时,需要注意在Map前端进行输入合并当然,在我们向一个表写数据时,也需要注意输出文件大小1. Map输入合并小文件对应参数:set mapred.max.原创 2013-02-19 11:57:06 · 31486 阅读 · 0 评论 -
Kafka(二):环境搭建&测试
参考:Kafka QuickStart在一台机器上构建一个3个节点的kafka集群,并测试producer、consumer在正常情况下的行为,以及在lead broker/follow broker失效情况下的行为1.下载并解压kafka 0.8.0 release$ mkdir kafka$ wget http://apache.dataguru.cn/kafka/0.原创 2013-12-18 19:17:03 · 52091 阅读 · 3 评论 -
hive void类型
hive文档中(http://blog.csdn.net/yfkiss/article/details/7752180)没有说明一种类型叫做void但是,void类型确真实存在,并且,对有void类型的表的访问会引发一些问题!如下:> select * from a;OKNULL NULL1 NULL> CREATE TABLE test原创 2013-01-14 10:51:44 · 6342 阅读 · 3 评论 -
hive UDF
HIVE允许用户使用UDF(user defined function)对数据进行处理。用户可以使用‘show functions’ 查看function list,可以使用'describe function function-name'查看函数说明。hive> show functions;OK!!=......Time taken: 0.275 secondshive>原创 2014-01-21 11:52:43 · 51304 阅读 · 3 评论 -
Hadoop数据传输工具sqoop
概述sqoop是Apache顶级项目,主要用来在Hadoop和关系数据库中传递数据。通过sqoop,我们可以方便的将数据从关系数据库导入到HDFS,或者将数据从HDFS导出到关系数据库。sqoop架构:sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce任务来传输数据,从而提供并发特性和容错。sqoop的进一步发展可以参考:A Ne原创 2013-03-24 19:22:05 · 64165 阅读 · 4 评论 -
数据在线服务的一些探索经验
一个新增的数据服务,在选取存储类型时,follow以下原则:1. 优先使用HBase/Redis,HBase/Redis无法支持的查询语义使用Mysql(分页查询,count)2. 小数据量(内存占用<10G量级)或者对查询响应时间要求很高的应用使用Redis(user profile)3. 海量数据使用HBase(用户行为流水/消息)原创 2014-05-15 19:06:06 · 15308 阅读 · 0 评论 -
大众点评数据平台架构变迁
最近和其他公司的同学对数据平台的发展题做了一些沟通,发现各自遇到的问题都类似,架构的变迁也有一定的相似性。以下从数据&架构&应用的角度对2012.07-2014.12期间大众点评数据平台的架构变迁做一个概括性的总结,希望对还处在数据平台发展初期的同学有一些帮助,欢迎线下沟通。原创 2013-12-18 19:04:37 · 21294 阅读 · 3 评论 -
转义字符引发的血案(hive、bash)
hive hql:从一个字符串“p?a?b?c?ppp?hhh”中以?作为分隔符,找第5段字符串bash程序:test.sh#!/bin/bashhive -e "select (split('p?a?b?c?ppp?hhh','?'))[4] from a limit 1;"报错:Caused by: java.util.regex.PatternSyntaxException原创 2012-10-23 15:22:12 · 19833 阅读 · 0 评论 -
hive bucket产生的小文件问题
Hive bucket主要作用:1. 数据sampling2. 提升某些查询操作效率,例如mapside join与此同时,在数据不均匀的情况下,bucket产生大量小文件,会带来很大麻烦,具体表现为:1. 文件数目过多,给namenode带来压力2. 在对查询条件不加限制时,启动大量map任务3. 数据入库慢结论:bucket,慎用!原创 2012-10-30 10:41:19 · 2746 阅读 · 2 评论 -
hive array、map、struct使用
hive提供了复合数据类型:Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域aMaps(K-V对):访问指定域可以通过["指定域名称"]进行,例如,一个Map M包含了一个group-》gid的kv对,gid的值可以通过M['group']来获取Arrays:array中的原创 2012-08-08 10:50:22 · 83650 阅读 · 1 评论 -
hive修改表模式
hive用户可以通过alter语句更改table属性Alter Partitions增加partitions:ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec [LOCATION 'location1'] partition_spec原创 2012-08-14 09:20:31 · 60813 阅读 · 0 评论 -
数据仓库基础
数据仓库概念数据仓库是一个面向主题的、集成的、非易失的、随时间变化的用来支持管理人员决策的数据集合面向主题:操作型数据库的数据组织面向事务处理任务,而数据仓库中的数据是按照一定的主题域进行组织。主题是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。集成:数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出数据仓库的核心工具来,进行加原创 2012-08-30 09:40:43 · 2993 阅读 · 0 评论 -
hive指南
译自:https://cwiki.apache.org/confluence/display/Hive/Tutorialhive是什么?hive是基于hadoop构建的数据仓库基础架构,通过提供一系列的工具,使得用户能够方便的做数据ETL,数据结构化,并针对存放在hadoop上的海量数据进行查询和分析。hive定义了一种简单的类SQL查询语言---QL,QL语言方便熟悉SQL语言的翻译 2012-07-16 16:58:31 · 4049 阅读 · 0 评论 -
hive bucket
hive中table可以拆分成partition,table和partition可以通过‘CLUSTERED BY ’进一步分bucket,bucket中的数据可以通过‘SORT BY’排序。bucket主要作用:1. 数据sampling2. 提升某些查询操作效率,例如mapside join需要特别注意的是:clustered by和sorted by不会影响数据的导入,这意味原创 2012-08-01 11:35:53 · 17025 阅读 · 2 评论 -
hive中文
hadoop、hive都支持UTF-8编码,我们可以使用UTF-8编码来处理中文以下两点需要注意:1. 处理脚本为UTF-8格式,包括建表脚本,数据处理脚本例如:如果在windows下使用ultraedit来写HQL程序,在保存文件的时候,保存格式为UNIX类型、UTF-8格式2. 终端采用UTF-8显示例如:secucecrt设置字符编码为UTF-8,字体为新宋体,字符集原创 2012-10-18 16:00:17 · 10667 阅读 · 0 评论 -
[源码分享] HIVE表数据量统计&邮件
概要:计算HIVE BI库下每天数据表总大小及增量输出:总大小:xxxG日同比新增数据量:xxxG周同比新增数据量:xxxG月同比新增数据量:xxxG总表数:xxx日新增表数:xxx周新增表数:xxx月新增表数:xxx最大的20张表:......表数据增量TOP20:......代码:bi_report.sh#!/bin/bashGI原创 2013-10-29 20:40:57 · 8028 阅读 · 1 评论