- 博客(157)
- 资源 (5)
- 问答 (3)
- 收藏
- 关注
转载 Hive SQL的编译过程
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有
2015-10-15 16:41:47
689
转载 flatmap详解
flatMapflatMap是一种常用的组合子,结合映射[mapping]和扁平化[flattening]。 flatMap需要一个处理嵌套列表的函数,然后将结果串连起来。scala> val nestedNumbers = List(List(1, 2), List(3, 4))nestedNumbers: List[List[Int]] = List(List(1, 2), Li
2015-10-08 13:04:24
9311
转载 VMWare虚拟机提示:锁定文件失败,打不开磁盘的解决办法
如果使用VMWare虚拟机的时候突然系统崩溃蓝屏,有一定几率会导致无法启动,会提示:“锁定文件失败,打不开磁盘...或它所依赖的某个快照磁盘,开启模块DiskEarly的操作失败,未能启动虚拟机”,这是因为虚拟机在运行的时候,会锁定文件,防止被修改,而如果突然系统崩溃了,虚拟机就来不急把已经锁定的文件解锁,所以你在启动的时候,就会提示无法锁定文件,如下图: 解决方法如下:
2015-09-15 11:48:13
41337
9
转载 flume入门教程
所用软件说明:一、什么是Apache Flume官网:Flume is a distributed, reliable, and availableservicefor efficientlycollecting, aggregating, and moving large amounts of log data. It has a simple and flexi
2015-09-15 01:07:08
865
原创 eclipse在centos下面崩溃
后面我在网上找到的解决办法是编辑eclipse.ini添加一个启动参数-Dorg.eclipse.swt.internal.gtk.cairoGraphics=false这个相当与禁用了carioGraphics
2015-09-14 21:09:58
902
原创 windows连接linux下面的软件乱码
乱码问题:Windows中的编码格式和Linux中的编码格式是不同的。在Linux中编写的代码如果包含中文,到Windows会变成乱码。Linux中支持中文字符。 yum install font-config-devel-yum install fonts-chinese-
2015-09-14 20:50:06
584
原创 xmanager 如何连接使用gui软件
但我的CentOS是无桌面环境的服务器系统,那怎么配置运行呢?步骤如下。首先,打开/etc/ssh/sshd_config,修改:X11Forwarding yesX11UseLocalhost yes然后重启sshd:service sshd restart重新登入ssh,若出现“WARNING! The remote SSH serv
2015-09-14 20:42:45
675
转载 MapReduce 二级排序
在这篇文章里,我们将继续实现《利用MapReduce玩转数据密集型文本处理》这本书中提到的算法。本系列的其它文章如下:利用MapReduce实现数据密集型文本处理利用MapReduce实现数据密集型文本处理 - 本地汇聚第二部分利用MapReduce实现共生矩阵(译者注: 共生矩阵,Co-Occurrence Matrix,见Wikipedia或百度)MapReduce算法 -
2015-09-08 18:28:27
565
转载 Hadoop安装配置
1、集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。 对于Had
2015-09-08 15:20:30
605
原创 redis常用命令
./redis-cli -h node7 -p 6379 连接远程的redis数据库 ./redis-server ../redis.conf 启动redis 的server端redis帮助手册:http://redisdoc.com/SETNX用法:SETNX key value将 key 的值设为 value ,当且仅当 k
2015-09-07 19:29:05
414
原创 scala链接redis
package testscalaredisimport redis.clients.jedis._object TestScalaRedis { def main(args: Array[String]) { val jr:Jedis = null; try{ val jr = new Jedis("192.168.110.127", 6379);//
2015-09-07 19:07:11
4145
转载 kafka快速入门
Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log),,之后成为Apache项目的一部分。Kafka系统快速、可扩展并且可持久化。它的分区特性,可复制和可容错都是其不错的特性。Apache Kafka与传统消息系统相比,有以下不同:它被设计为一个分
2015-09-03 16:35:23
480
转载 Hadoop中合并小文件
问题?每一个比block size小的文件都会消耗掉一个完整block的分配,但是磁盘空间的实际占用是基于文件的大小,而不要误认为小文件会消耗掉一整个块的存储空间。每个块都会消耗NameNode节点一定数量的内存。NameNode能够寻址固定数量的块个数,这需要视NameNode节点的内存大小而定。在Hadoop集群上的这些小文件会不断触及NameNode节点的内存
2015-09-01 16:15:03
6723
原创 如何设置hive与hbase同步
hive和hbase同步https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration1、把hive-hbase-handler-1.2.1.jar cp到hbase/lib 下同时把hbase中的所有的jar,cp到hive/lib2、在hive的配置文件增加属性:hive.site.xmlhb
2015-08-30 14:03:28
1312
原创 计算广告学介绍
什么是广告?广告是由确定的出资人通过各种媒介进行有关产品(产品,服务,和观点)的,通常是有偿的,有组织的,综合的,劝服性的非人员的信息传播活动广告的主体?出资人即广告主,媒介(medium),受众广告的本质功能?是借助某种有广泛受众的媒体力量,完成较低成本的用户接触(reach)广告的两种(品牌广告,效果广告)品牌广告:通过独特良好的品牌和产品形象,目的在于提升较长时间
2015-08-29 17:24:35
669
转载 linux常用命令
系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示C
2015-08-29 16:32:48
267
转载 github提交可能遇到的问题
Git Push(向远程Github提交本地代码)$ git push git@github.com:hepusheng/linux-2.6.11-study-note.git master // 把本地仓库提交到远程仓库的master分支中$ git remote add origin git@github.com:hepusheng/linux-2.6.11-study-not
2015-08-29 16:08:24
1193
转载 Eclipse配置GitHub代码库(以Windows7为例)
1.安装Git 首先安装git。这里只讲Windows环境下安装Git方法。 从Git下载git的Windows安装文件,一路Next到选择安装组件这一步: 选上Git Bash Here这一项,这样就有命令行可以用了。因为后面基本上不会用到Git自己的GUI。 文章出处:http://blog.youkuaiyun.com/twlkyao/articl
2015-08-29 16:02:29
453
原创 MapReduce实现推荐算法(同现矩阵*评分矩阵=推荐结果)
该讲主要是基于ItemCF的物品推荐。1,常用的两大协同过滤算法。a,基于物品的协同过滤算法基于item的协同过滤,通过用户对不同item的评分来评测item之间的相似性,基于item之间的相似性做出推荐。简单来讲就是:给用户推荐和他之前喜欢的物品相似的物品。b,基于用户的协同过滤算法UserCF基于用户的协同过滤,通过不同用户对物品的评分来评测用户之间的相似性,基于用
2015-08-29 14:54:03
4443
4
转载 eclipse里面使用github插件
1,检查Eclipse中是否已安装Git插件,菜单栏Help -> About Eclipse,查看是否有Git插件的图标。 Eclipse关联GitHub实现版本控制 2 现在的Eclipse下载后一般都提供Git插件了,若是没有Git插件,可以再eclipse 的market里面搜索egit插件安装,如果低版本的eclipse安装高版本的egit插件会报错,建议要么安装低版本的,要么去ec
2015-08-29 12:39:25
919
原创 Hbase优化
1,预分区。因为第一次建表的时候会自动创建一个region分区.如果再倒入数据的话,因为一开始没有数据,不会split切分,这样会对单个region server造成比较大的io开销,所以需要预分区。预分区可以根据热点范围的rowkey来制定分区策略。2,通过rowkey检索数据的时候,需要制定column,这个比较好理解,和关系型数据库的sql优化一样,select * from table
2015-08-25 19:20:19
614
原创 mapreduce读取hbase中表的数据,直接打印或者回传数据到hbase数据库表
package com.syyz.zjs;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.client.Put;import or
2015-08-25 18:58:07
1039
转载 HBase表设计原则整理
1、列簇的设计 列簇尽量少,最好不超过3个。因为每个列簇是存在一个独立的HFile里的,flush和compaction操作都是针对一个Region进行的,当一个列簇的数据很多需要flush的时候,其它列簇即使数据很少也需要flush,这样就产生的大量不必要的io操作。在多列簇的情况下,注意各列簇数据的数量级要一致。如果两个列簇的数量级相差太大,会使数量级少的列簇的数据扫描效率低下。将经常
2015-08-24 16:03:55
873
转载 详细讲解Hadoop中的一个简单数据库HBase
HBase是 Hadoop中的一个简单数据库。它与Google的Bigtable特别相似,但也存在许多的不同之处。数据模型HBase数据库使用了和 Bigtable非常相似的数据模型。用户在表格里存储许多数据行。每个数据行都包括一个可排序的关键字,和任意数目的列。表格是稀疏的,所以同一个表格 里的行可能有非常不同的列,只要用户喜欢这样做。列名是“:”形式,其中和可以是任意字
2015-08-24 12:47:16
669
转载 Java集合类: Set、List、Map、Queue使用场景梳理
目录1. Java集合类基本概念2. Java集合类架构层次关系3. Java集合类的应用场景代码 1. Java集合类基本概念在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数
2015-08-23 14:58:12
517
转载 hive优化
优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。 长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时
2015-08-23 13:59:03
270
转载 深入浅出数据仓库中SQL性能优化之Hive篇
一个Hive查询生成多个Map Reduce Job,一个Map Reduce Job又有Map,Reduce,Spill,Shuffle,Sort等多个阶段,所以针对Hive查询的优化可以大致分为针对MR中单个步骤的优化(其中又会有细分),针对MR全局的优化,和针对整个查询(多MR Job)的优化,下文会分别阐述。 在开始之前,先把MR的流程图帖出来(摘自Hadoop权威指南
2015-08-23 13:54:10
335
转载 sql优化
1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用
2015-08-23 13:37:37
299
转载 Hive SQL执行计划深度解析
阅读目录1.1 Join的实现原理1.2 Group By的实现原理1.3 Distinct的实现原理2.1 Phase1 SQL词法,语法解析2.2 Phase2 SQL基本组成单元QueryBlock2.3 Phase3 逻辑操作符Operator2.4 Phase4 逻辑层优化器2.5 Phase5 OperatorTree生成MapReduce Job的过程2.6 Phase6 物
2015-08-21 15:09:46
911
原创 mapreduce查询mysql表中记录数
package com.zjs.mr2;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.In
2015-08-20 21:02:30
495
原创 Mapreducer天气排序,分区,分组,排序
package com.zjs.mr2;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.apache.hadoop.conf.Configuration;import org.apache.h
2015-08-20 16:48:53
1444
原创 MapReducer实现单词计算
package com.zjs.mr;import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Tex
2015-08-20 13:47:50
566
原创 MapReduce 查询mysql表中的数据,打印记录数,并转储回mysql表
package com.laoxiao.mr02;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLEx
2015-08-19 20:35:02
577
转载 Hadoop 调试第一个MapReduce程序过程详细记录总结
开发环境搭建参考 Hadoop 在Windows7操作系统下使用Eclipse来搭建Hadoop开发环境>: http://www.linuxidc.com/Linux/2014-12/111061.htm1,程序代码如下:package wc;import java.io.IOException;import java.util.StringTokenizer;
2015-08-17 19:36:19
985
原创 替换centos的yum源
1,可以从阿里的镜像站点里面选中自己的linux版本:http://mirrors.aliyun.com/2,如果是centos可以参看以下方法:1、备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2、下载新的CentOS-Base.repo 到/e
2015-08-16 10:56:39
501
原创 ConcurrentHashMap 初认识
1,ConcurrentHashMap是线程安全且高效的HashMap2,为什么要使用ConcurrentHashMap?因为在多线程环境下,使用HashMap进行put操作会引起死循环。HashTable使用synchronized来保证线程安全。但是在线程竞争激烈的情况下。HashTable的效率是很低的。3ConcurrentHashMap的锁分段技术4,Conc
2015-08-15 16:44:45
405
原创 Unable to load native-hadoop library for your platform... using builtin-java classes where applicab
出现上述问题主要是环境变量没设置好,在~/.bash_profile或者/etc/profile中加入以下语句就没问题了。 #vi /etc/profile或者vi ~/.bash_profile export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava
2015-08-14 13:03:43
816
转载 大型网站系统架构的演化
前言一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海量的
2015-07-14 22:40:05
515
MapReduce 查询mysql表中的数据,打印记录数,并转储回mysql表
2016-01-10
web端怎么写手机短信推送,java的
2013-08-09
hql的一对多查询怎么做啊?
2013-08-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人