自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蔡先生的专栏

天天学习,好好向上。

  • 博客(38)
  • 收藏
  • 关注

原创 Exception in createBlockOutputStream java.net.SocketException: 打开的文件过多

执行MapReduce程序报如下错误:15/03/29 22:35:13 INFO hdfs.DFSClient: Exception in createBlockOutputStreamjava.net.SocketException: 打开的文件过多    at sun.nio.ch.Net.socket0(Native Method)    at sun.nio.ch.Net

2015-03-29 22:39:48 4284

原创 java.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more good

错误提示:15/03/29 17:16:53 WARN hdfs.DFSClient: DataStreamer Exceptionjava.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to tr

2015-03-29 20:05:05 6612 2

原创 Hadoop append操作

执行append操作的代码:package org.cy.pack;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;impor

2015-03-29 11:22:56 1696

原创 mapreduce java.lang.Exception: java.lang.RuntimeException: java.lang.NoSuchMethodException

执行reduce的时候出现如下错误:java.lang.Exception: java.lang.RuntimeException: java.lang.NoSuchMethodException: org.cy.pack1.MR1_Normalization$Reduce_Normalization.()    at org.apache.hadoop.mapred.LocalJob

2015-03-29 10:12:57 3155 2

原创 Java Map按键(Key)排序和按值(Value)排序

Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。1、按键排序jdk内置的java.util包下的TreeMap既可满足此类需求,向其构造方法 TreeMap(Comparator comparator)  传入我们自定义的比较器即可实现按键排序。 public class MapSortDemo {

2015-03-27 17:44:36 463

原创 Hadoop故障分析

调小数据块的大小,并提升NameNode的日志级别。具体操作为在hdfs-site.xml中添加如下属性设置:            dfs.block.size          1048576                  dfs.namenode.logging.level          all        执行s

2015-03-24 23:56:55 791

原创 hadoop2.6.0在eclipse下面调试程序看不到日志的解决方法

使用Hadoop2.6.0,在eclipse下面调试mapreduce程序的时候,控制台不打印程序运行时的日志,而是显示如下信息:log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).log4j:WARN Please in

2015-03-24 23:01:19 2348 2

原创 ubuntu上Scala安装

1.下载安装文件下载地址:http://www.scala-lang.org/download/2.解压安装包caiyong@caiyong:~/setup$ sudo tar -zxvf scala-2.11.6.tgz -C /opt/caiyong@caiyong:/opt$ sudo mv scala-2.11.6/ scalacaiyong@caiyo

2015-03-24 19:44:31 439

原创 java序列化与反序列化

TestSerializable.javapackage pack1;import java.io.Serializable;public class TestSerializable { /** * @param args */ public static class Object1 implements Serializable{ } public stat

2015-03-22 23:06:34 358

原创 MapReduce编程教训

1.map定义的Key和Value格式必须要和文件输入的格式一致,不然程序直接进行reduce操作而不经过map处理。2.reduce的value必须定义为Iterable格式,不然程序不经过reduce操作而就直接输出。最可悲的是:上述失误不会有任何错误信息输出,弄死人。

2015-03-21 12:27:52 405

原创 ubuntu下安装Graphviz

1.执行自动安装caiyong@caiyong:/opt$ sudo apt-get install graphviz正在读取软件包列表... 完成正在分析软件包的依赖关系树       正在读取状态信息... 完成       您可能需要运行“apt-get -f install”来纠正下列错误:下列软件包有未满足的依赖关系: graphviz : 依赖: libcd

2015-03-18 12:53:27 24796

原创 Hadoop作业优先级控制

当同时在集群中运行多个作业时,默认情况下,Hadoop将提交的作业放入一个FIFO,一个作业结束后,Hadoop就启动下一个作业。当一个运行时间长但是优先级较低的作业先于运行时间短而优先级较高的作业提交时,优先级高的作业会长时间排队等待。为了解决这个问题,Hadoop定义了5种不同的作业优先级,分别是:VERY_HIGH,HIGH,NORMAL,LOW,VERY_LOW,作业的默认

2015-03-17 13:13:20 7778 3

原创 MultipleInputs实现reduce端连接

MultipleInputs允许定义多个数据源,并且为每一个数据源指定一个独立的输入格式和Mapper,因此可以对多个输入文件执行Reduce操作。示例源代码:package org.cy.pack;import java.io.IOException;import java.net.URISyntaxException;import java.util.Date;im

2015-03-15 17:58:09 557

原创 Flume把事件写入多个信宿

1.创建agent配置文件把下列内容存入agent7.conf,并保存到Flume的工作目录/opt/flume/bin下面agent7.sources = netsourceagent7.sinks = hdfssink filesinkagent7.channels = memorychannel1 memorychannel2agent7.sources.nets

2015-03-14 22:04:25 537

原创 Flume timestamp拦截器

Flume拦截器简介Flume拦截器就是一个插件,可以在从信源到信宿传输事件的过程中操作和修改事件。大多数拦截器要么在事件的基础上加上一些元数据要么基于某些规则删除一些事件。Flume拦截器例子1.创建agent配置文件把下列内容存入agent5.conf,并保存到Flume的工作目录/opt/flume/bin下面agent5.sources = netsource

2015-03-14 19:53:02 1681

原创 Flume把网络数据写入HDFS

1.创建agent配置文件把下列内容存入agent4.conf,并保存到Flume的工作目录/opt/flume/bin下面agent4.sources = netsourceagent4.sinks = hdfssinkagent4.channels = memorychannelagent4.sources.netsource.type = netcatagen

2015-03-14 19:46:30 790

原创 Flume把命令执行结果写入平面文件

1.创建agent配置文件把下列内容存入agent2.conf,并保存到Flume的工作目录/opt/flume/bin下面agent2.sources = execsourceagent2.sinks = filesinkagent2.channels = filechannelagent2.sources.execsource.type = execagent2

2015-03-14 19:37:51 836

原创 Flume把网络流量存入日志文件

1.创建agent配置文件把下列内容存入agent1.conf,并保存到Flume的工作目录/opt/flume/bin下面agent1.sources = netsourceagent1.sinks = logsinkagent1.channels = memorychannelagent1.sources.netsource.type = netcatagent

2015-03-14 19:33:44 1983

原创 Flume安装配置

Flume简介:        Flume被描述为分布式的日志收集系统 ,其处理的是基于文本行的文本数据。其并不是一个通用的分布式数据平台,不要期望用其获取或者传输二进制数据。        Flume可以从多个数据源获取数据,并把这些数据传给远程主机,再把它们传给多个目的段。Flume安装:0.安装前提是系统已经安装了JDK和Hadoop1.下载Flume的二进制

2015-03-14 19:26:22 652

原创 计算文本相似度-java实现

源代码:Computeclass.java:/** * @author Caiyong * @version 1.0 * * */package pack;import java.text.NumberFormat; import java.util.Locale; public class Computeclass { /* * 计

2015-03-13 20:48:49 21109 16

原创 Hive Web Interface(hwi)

构建hwi的war包Hive 1.0.0发行包里没有hwi的war包文件,这个问题在0.13和0.14上都存在,没有这个war包就不能启动hwi服务。目前的解决方法是从源码手动build出这个war包,具体做法是:(1)下载Hive 1.0.0的源码包(apache-hive-1.0.0-src.tar.gz)并解压,下载地址为http://mirrors.cnnic.cn/apach

2015-03-12 13:51:41 1380

原创 Hive数据操作

1.向数据表中加载文件当数据被加载到表时,不会对数据进行任何变换,LOAD操作只是将数据复制到Hive表对应的位置。代码:LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE table_name [PARTITION (partitioncol=val,...)]filepath可以是相对路径,绝对路径或完整的U

2015-03-11 22:12:44 773

原创 Hive表分区操作

Hive在对数据进行查询的时候一般会对整个表进行扫描,当表很大的时候会消耗很多时间,有时候只是需要对表中的一部分数据进行扫描,因此Hive引入分区。Hive分区不同于一般分布式系统下的范围分区,哈希分区,一致性分区等。Hive的分区是在Hive的表结构下面根据分区的字段设置将数据按照目录进行存放,相当于简单的索引功能。Hive表分区需要在创建表的时候指定模式(Hive创建表的时候指定模式的

2015-03-11 22:11:56 1300

原创 Hive视图

1.创建表视图CREATE VIEW [IF NOT EXISTS] view_name [(col_name [COMMENT col_comment],...)] [COMMENT view_comment] AS SELECT...在创建视图的同时确定了视图的架构,随后再改变基本表将不会在视图中体现出来,如果基本表被删除或者以不兼容的方式被修改,则该视图查询会失败。视图是只读的。

2015-03-11 22:11:35 776

原创 Hive修改表

ALTER TABLE语句用于改变一个已经存在的表的结构,如:增加列和分区,改变SerDe,添加表和SerDe的属性或成命名表。(1)重命名表ALTER TABLE table_name RENAME TO new_table_name该命令只是更改了表名字,数据所在的分区和位置并不会改变。表的旧名字并未被释放,对旧表的更改会改变新表的数据。hive> CREATE TAB

2015-03-11 22:08:32 1448

原创 Hive创建表

1.创建普通表hive> CREATE TABLE test_table(name STRING,userid INT,ip STRING COMMENT 'ip address of the user')COMMENT 'this is the test table';hive> show tables;OKtest_tableTime taken: 0.492 se

2015-03-11 22:05:25 1200

原创 Hive的数据存储模型

Hive的存储是建立在Hadoop文件系统之上的,Hive本身没有专门的数据存储格式,也不能为数据建立索引,因此可以自由的组织Hive中的表。在创建表的时候只需要告诉Hive数据中的列分隔符和行分隔符就可以解析数据。

2015-03-11 14:04:57 2829

原创 Hive 1.0.0简介与安装

Hive简介Hive是由Facebook的数据组开发维护的,在Facebook内部使用之后,被移交给Apache基金会。Hive是建立在Hadoop之上的数据仓库,其使用MapReduce对存储于HDFS之上的数据进行分析。Hive可以缩短MapReduce的开发周期,它定义了一种类SQL的查询语言,称之为HiveQL.Hive使用HiveQL表述查询操作,并立即将其自动转化为一个

2015-03-10 23:21:42 2035

原创 spark安装

0.前提系统已经安装了:JDK  Scala  Hadoopspark的安装文件:spark-1.2.0-bin-hadoop2.4.tgz1.解压安装包caiyong@caiyong:~/setup$ sudo tar -zxvf spark-1.2.0-bin-hadoop2.4.tgz -C /opt/caiyong@caiyong:/opt$ sudo mv s

2015-03-09 19:39:16 805

原创 Pig Latin数据类型

类别  数据类型    描述  文字示例数值int32位有符号整数1long            64位有符号整数1Lfloat       32位浮点数1.0Fdouble64位浮点数1.0文本

2015-03-09 19:21:16 1180

原创 Pig内置函数

类别 函数名称描述计算 AVG                     计算包中项的平均值CONCAT把两个字节数组或者字符数组连接成一个COUNT 计算包中非空值的个数COUNTSTAR计算包中项的个数,包括空值 DIFF

2015-03-09 19:02:24 866

原创 Graphviz JAVA API

转载自:java程序怎么调用Graphvizjava可以直接调用这个类实现画图功能,但是使用这个类的前提是你的电脑已经装了GraphViz软件,你可以在http://www.graphviz.org/Gallery.php下载windows版本,装完后,找到dot.exe所在的路径,我电脑上的是D:\Program Files\Graphviz2.30\bin\dot.exe,将GraphV

2015-03-07 19:16:16 1874 2

原创 Pig Latin关系操作

类型操作 描述加载与存储LOAD 将数据从文件系统加载,存入关系 STORE将一个关系存放到文件系统 DUMP  将关系打印到控制台过滤 FILTER 从关系中过滤掉不需要的行 DISTINCT从关系中删除重复的行 FOREACH...GENERATE在关系中

2015-03-07 19:02:40 945

原创 Pig Latin示例

1.创建并上传数据到HDFS2.加载grunt> records = LOAD 'hdfs://127.0.0.1:8020/pig/pigtestdata' AS (year:chararray,temperature:int,quality:int);grunt> DUMP records;grunt> DESCRIBE records

2015-03-07 18:25:28 866

原创 Pig执行模式

Pig有两种执行模式:local mode 和 MR mode        Pig的物理计划是一系列的MR作业,在local mode,作业在本地JVM中运行,在MR mode,作业在Hadoop集群上运行。local mode:        在local mode ,Pig运行在单个JVM中,访问本地文件系统。本模式只适合用于试用Pig或处理小规模数据集。执行模式

2015-03-07 18:13:52 1115

原创 Pig 0.14.0安装

Pig是作为一个客户端应用程序运行的,即使运行在Hadoop集群上也不需要额外安装什么东西:Pig从工作站上发出作业,并和HDFS(或者其他Hadoop文件系统)进行交互。前提:系统已经安装了JDK6及以上版本。安装步骤:Step1.解压缩安装包sudo tar -zxvf pig-0.14.0.tar.gz -C /opt/Step2.移动解压

2015-03-07 18:04:07 442

原创 Pig简介

Pig为大型数据集的处理提供了更高层次的抽象。        Pig提供了丰富的数据结构,一般都是多值和嵌套的数据结构,pig还提供很强大的数据变换操作,包括在MR中被忽视的join操作。Pig包括两个部分:1.用于描述数据流的语言-Pig Latin;2.用于运行Pig Latin程序的执行环境,当前有两个环境:单JVM中的local执行环境和Hadoop集群上的

2015-03-07 17:58:36 967

原创 shell命令与参数

Shell最基本的工作就是执行命令,每键入一道命令,Shell就会执行。如:cd home/cy ; ls -l cy.c1.Shell命令格式很简单,以空白(Space或Tab)隔开命令行中各个组成部分;2.命令名称是命令行中的第一个项目,通常后面会跟选项(option),任何额外的参数都会放在选项之后;3.选项的开头是一个破折号(减号),后面跟着一个字母。选项是

2015-03-04 11:20:36 830

空空如也

空空如也

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

TA关注的人

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