大明湖里有蛤蟆
码龄11年
关注
提问 私信
  • 博客:138,740
    问答:2,271
    141,011
    总访问量
  • 20
    原创
  • 309,594
    排名
  • 13
    粉丝
  • 0
    铁粉

个人简介:做一个磁石

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2014-07-29
博客简介:

大明湖里有蛤蟆

查看详细资料
个人成就
  • 获得23次点赞
  • 内容获得8次评论
  • 获得52次收藏
创作历程
  • 22篇
    2015年
  • 1篇
    2014年
成就勋章
TA的专栏
  • 算法
    2篇
  • 设计模式
  • hbase
    7篇
  • java
    2篇
  • spark
  • linux shell
    4篇
  • hive
  • hdfs
    4篇
  • 安装笔记
    1篇
  • Map Reduce
    4篇
  • sql
    1篇
  • 流计算
    1篇
  • shell
  • scala
    3篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

HDFS的快照原理和Hbase基于快照的表修复

前一篇文章《HDFS和Hbase误删数据恢复》主要讲了hdfs的回收站机制和Hbase的删除策略。根据hbase的删除策略进行hbase的数据表恢复。本文主要介绍了hdfs的快照原理和根据快照进行的数据恢复。
原创
发布博客 2015.09.21 ·
4935 阅读 ·
2 点赞 ·
0 评论 ·
10 收藏

HDFS和Hbase误删数据恢复

1.hdfs的回收站机制        客户有时会误删一下数据,是在生产环境下,误删数据会造成非常严重的后果。 2.hbase表删除恢复如果disable+drop误删了hbase表数据,数据不会放到回收站中,hbase有自己的一套删除策略。fs.trash.interval=0        以分钟为单位的垃圾回收时间,垃圾站中数据超过此时间,会被删除。如果是0,
原创
发布博客 2015.09.07 ·
11232 阅读 ·
2 点赞 ·
1 评论 ·
8 收藏

集群磁盘损坏导致hadoop文件丢失的概率计算

在与客户沟通的时候,经常会有客户询问关于hadoop的安全问题。由于hadoop的底层的磁盘不做raid或者仅仅是做raid 0,客户认为磁盘损坏容易造成数据丢失。你跟客户阐述采用3副本机制,客户也会说:即使3副本也会有3块不同节点的磁盘同时损坏的可能啊!这时候我会跟客户举例子算一下三个不同节点的磁盘同时损坏的概率。为了简单起见,我们假如数据节点上的文件都小于64MB,这样这些文件的每一个
原创
发布博客 2015.09.07 ·
2583 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

hadoop常用的压缩算法总结和实验验证

hadoop常用压缩算法性能总结,包括snappy、gzip、bzip2、LZ4、LZO、deflate等算法
原创
发布博客 2015.08.24 ·
2620 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

linux的环境变量文件enviroment 、profile、bashrc和bash_profile的区别

(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。 (2)/etc/environment:是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。(3)/etc/bashrc: 为每一个运行
转载
发布博客 2015.08.24 ·
748 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Programming in scala学习笔记(三)Classes and Objects

1. 任何方法中传入的形参都是val的,是不能在方法中改变它的。 2. 如果函数体很小的话可以去掉大括号注意上面的private,默认不加是public  3. 分号分隔语句如果语句在同一行的话,可以用分号分隔 4. Singleton ObjectsScala跟java不一样,没有static成员,然而,scala有Object,Object的
原创
发布博客 2015.08.23 ·
705 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Programming in scala学习笔记(二)Next steps in scala

《Programming in scala 2nd edition 》Next steps in scala 章节学习笔记
原创
发布博客 2015.08.20 ·
1211 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

hadoop报错什么签名问题求解决啊

答:

Mapper后面需要写上输入类型和输出类型,就像这样:

 public class MapperClass extends Mapper<Object, Text, Text, IntWritable>{
    private Text result = new Text();
    private IntWritable one = new IntWritable(1);
    @Override
    protected void map(Object key, Text value,Context context)
            throws IOException, InterruptedException {
        //获取值
        String[] strs = value.toString().split(" ");
        //提取出key ,value设置为1
        for(String str:strs)
        {
            result.set(str);
            context.write(result, one);
        }
    }


}
回答问题 2015.08.20

solaris部署hadoop集群跑wordcount报错

答:

/etc/hosts文件配对了吗?

回答问题 2015.08.20

Programming in scala学习笔记(一)First step in scala

《Programming in scala 2nd Edition》First step in scala学习笔记
原创
发布博客 2015.08.19 ·
658 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

给你一个含有1亿个QQ号码的文件,如何快速的查找某个QQ号码?

答:

如果文件很大,达到G或者P级别,建议将数据导入hadoop或者MPP数据库中,
以hadoop环境为例,先将文件上传到hdfs中,hdfs默认64M为一个文件块,这样文件会被分割成若干的小块,然后写mapreduce程序查询,mapreduce仅仅写map阶段就可以,每个map默认会输入一个64M的小文件块进行遍历。

如果想多次查询,新建hive表,表只有一个字段,设置为string类型即可,将文件load到hive表中,然后执行”select <字段名> from where <字段名>= qq号“进行查询,hive会将sql解析成map reduce任务进行分布式执行;

如果想多次查询,并且要求反应速度在毫米级,可以用hive建hbase的外表,用hive将数据加载到hbase中,然后用hbase的get命令查找。

回答问题 2015.08.19

给你一个含有1亿个QQ号码的文件,如何快速的查找某个QQ号码?

答:

数据仅仅存在一个文件中,一条记录longlong表示64bit,1亿条记录大约600M。
如果仅仅是想最快查找到想要的qq号,都读到内存里遍历一遍就是了。什么建树建hash的都是多此一举,反而会消耗更多的时间。

回答问题 2015.08.19

spark streaming如何更好的计算关系型数据库中数据?

答:

官网上看到Spark Streaming内置就支持两类数据源,
1) 基础数据源(Basic sources): StreamingContext API就可以直接调用。这类源主要有file systems(HDFS), socket connections, and Akka actors,Queue of RDDs(测试用)。
2) 高级数据源(Advanced sources): Kafka, Flume, Kinesis, Twitter, etc.调用这些源需要加载外部依赖程序包。

如果想加载除上面之外的数据源,需要自己实现Receiver接口,自定义Receiver可以参考:
https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/streaming/CustomReceiver.scala

回答问题 2015.08.19

kafka集群启动脚本

用的kafka版本是0.8.0的,里面没有集群启动的脚本,所以写了一个集群启动的脚本如下:#!/bin/bashBROKERS="test6 test5 test10"KAFKA_HOME="/usr/lib/kafka"for broker in $BROKERSdo echo "INFO:starting kafka server on ${broker}" ssh $br
原创
发布博客 2015.08.06 ·
2863 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

脚本ssh连接自动填密码(expect)

Linux ssh下执行ssh命令远程登录其他机器,总是需要输入密码,如果人工去登录,输入密码那还可以,但是让程序自动化登录远程ssh服务器,并执行命令着就比较麻烦了。Linux下有个程序是expect,它可以模拟键盘,输入文本。机器上一般是没有这个命令的,需要安装expectsudo apt-get install expectyum install expect经常看到一
原创
发布博客 2015.08.06 ·
7473 阅读 ·
2 点赞 ·
1 评论 ·
12 收藏

MapReduce的Map side join

当有一个大表join小表的时候,可以选择用Map side join。该方式只用到了map阶段,不需要reduce。适用场景:1-小表很小,可以放在内存中,不会导致JVM的堆溢出;2-内连接或者大数据在左边的左外连接。
原创
发布博客 2015.06.10 ·
1044 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

写日志文件的代码

直接上代码:package com.inspur.log;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintWriter;import java.util.Calendar;public class WriteL
原创
发布博客 2015.06.10 ·
749 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MapReduce的Reduce side Join

reduce side join是所有join中用时最长的一种join,但是这种方法能够适用内连接、left外连接、right外连接、full外连接和反连接等所有的join方式。reduce side join不仅可以对小数据进行join,也可以对大数据进行join,但是大数据会占用大量的集群内部网络IO,因为所有数据最终要写入到reduce端进行join。如果要做join的数据量非常大的话,就不得不用reduce join了。
原创
发布博客 2015.06.10 ·
1478 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

一目了然的几种join方式举例

inner join,left outer join,right outer join,antijoin,cartesian product
原创
发布博客 2015.06.09 ·
791 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

hbase的bulk loading代码和执行方法

bulk loading的优缺点这里就不再赘述,在本博客的其他文章已经进行过详细的分析: Hbase Bulk Loading与HBase API方式分析和对比bulk loading的过程主要分为两部分,一部分为数据生成,一部分为数据加载。我们先来看看执行bulk loading的shell脚本,然后再分析代码。CLASSPATH=./bulkload.jar:/etc/
原创
发布博客 2015.06.05 ·
1968 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏
加载更多