自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱[黎姿]的程序员

这是一个草根程序员的故事。

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

原创 数仓建模

标准的建模的方式四步走:选择业务过程 声明粒度 确定维度 确定事实(1)选择业务过程1)无论去什么的公司,先清楚业务的走向,流程怎么走的?对于电商用户的使用流程,例如:启动APP \rightarrow 登录 \rightarrow 搜索启动APP→登录→搜索这个流程中的每个部分就是事实2)作为PM等会给你提出统计维度指标不应该:单独提出什么商品(一个一个指标...

2020-02-02 20:39:56 209

原创 style.less直接copy

/* Please visit the URL below for more information: *//* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */.markdown-preview.markdown-preview { /*---- 整体背景 ----*/ // b...

2019-11-19 11:37:59 352 1

原创 6.mr中理解分区和分组

1.MapReduce中数据流动(1)最简单的过程:  map - reduce(2)定制了partitioner以将map的结果送往指定reducer的过程: map - partition - reduce(3)增加了在本地先进性一次reduce(优化)过程: map - combin(本地reduce) - partition -reduce自定义一个分区方案,默认通

2015-12-11 11:15:24 3725 1

转载 4.MR老版流程源码解析

一个完整的Hadoop MapReduce过程可以描述如下:Client端提交MapReduce Job到JobTracker;JobTracker调度Job, 生成MapTask和ReduceTask;各TaskTracker接收MapTask和ReduceTask;TaskTracker为MapTask和ReduceTask启动新的Child Task JVM;Child Task

2015-12-11 11:14:43 402

原创 5.MR多文件的输入输出

1.旧API:org.apache.hadoop.mapred.lib.MultipleOutputFormat||MultipleInputFormat和org.apache.hadoop.mapred.lib.MultipleOutputs||MultipleInputsMultipleOutputFormat allowing to write the output

2015-12-11 11:14:04 1190

原创 3.MR输入格式和分片相关

一个输入分片(split)就是由单个map 处理的输入块。每一个map操作只处理一个输入分片。每个分片被划分为若干个记录,每条记录就是一个键/值对,map一个接一个地处理每条记录。(输入分片—>若干个记录—>每条记录)注:(一个split对应一个map)默认一个split对一个块,所以导致一个块一个map的概念。但split数可改变,(见下)

2015-12-11 11:13:32 493

原创 2.MR理论概念

下面我们看官方给出的例子:1:将Block块分割成三个Split2:每个Split对应一个mapper3: 三个mapper输出结果进行Shuffling,每个map的输出只是简单的key-value而非key-valuelist,所以洗牌的工作就是将map输出转化为reducer的输入的过程。在reducer开始之前shuffle要做的事情分为

2015-12-11 11:12:40 562

原创 1.why MR?

Why MapReduce?一.将计算移动到数据二.Divide and Conquer(分而治之):MapReduce执行流程:Map映射分发Reduce聚合傻逼图:好图:Yarn执行资源分配框架结构:ResourceManager (Master)

2015-12-11 11:11:56 315

原创 6.hadoop中rpc中的动态代理的理解

代理模式抽象角色:真实对象和代理对象的共同接口代理角色:秘书真实角色(被代理角色):局长实现代理接口&&调用转发创建动态代理步骤:1.创建一个实现接口InvocationHandler的类,它必须实现invoke方法2.创建被代理的类以及接口3.通过Proxy的静态方法 newProxyInstance(Cla

2015-12-11 11:09:41 591

原创 5.对于RMI的理解

下面我将介绍一个完整的实例,让初学者能快速体验RMI的功用。分为以下四个步骤1. 创建远程接口及声明远程方法(HelloInterface.java)2. 实现远程接口及远程方法(继承UnicastRemoteObject)(Hello.java)3. 启动RMI注册服务,并注册远程对象(HelloServer.java)4. 客户端查找远程对象,并调用远程方法(H

2015-12-11 11:08:52 263

原创 4.hadoop中的压缩

所有的压缩算法都会考虑时间和空间的权衡列出一些可以用于Hadoop的常见压缩格式以及特性Hadoop压缩api应用实例获得具体的[编码/解码]方式egg1:通过传入压缩的方式名反射egg2:通过文件拓展名获得,通过[编码/解码]工厂CompressionCodecFactory对于工厂方法而言,用于创建多种产品

2015-12-11 11:08:09 255

原创 3.hadoop中的序列化

序列化的三种主要途径作为一种序列化格式:一个对象序列化以后,它的编码可以被存储到磁盘上,供以后反序列化使用作为一种通信数据格式:序列化结果可以从一个正在运行的虚拟机,通过网络被传递到另一个虚拟机上作为一种拷贝、克隆机制:将对象序列化到内存的缓冲区中,然后通过反序列化,可以得到一个对已存对象进行深拷贝的新对象序列化机制java:实现Seri

2015-12-11 11:07:26 311

原创 2.hadoop配置信息处理

配置文件概念一个灵活的系统不可缺少的一部分,虽然重要,却没有标准windows上的配置文件:特殊化的ASCII文件(以”ini”为文件拓展名)java配置文件:java.util.Properties类,用于处理简单的配置文件     k-vHadoop Configuration:采用XML格式1.name、

2015-12-11 11:06:13 330

原创 1.hadoop的认识

占有率:Hadoop57.5%   Hbase23.2%  截至2012年12月23日,Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x和0

2015-12-11 11:05:37 342

原创 11.storm小项目反思

1.促使写了此篇的理解点:代码上:worker1节点上:worker2节点上:从上面三张图看出来topo的代码中prepare在各自进程开始调用,而两个节点产生了两个文件,说明nimbus给两个节点各自分发了一个jar包,开辟了jvm环境在各自的节点机器上执行,这是两个独立且联系的进程不要总是盯着主节点nimbus看运行情况什

2015-12-11 11:04:45 310

转载 10.整体了解storm(补充)

4.  项目实施,构建Topology      当下情况我们需要给Spout和Bolt设计一种能够处理大量数据(日志文件)的topology,当一个特定数据值超过预设的临界值时促发警报。使用Storm的topology,逐行读入日志文件并且监视输入数据。在Storm组件方面,Spout负责读入输入数据。它不仅从现有的文件中读入数据,同时还监视着新文件。文件一旦被修改Spo

2015-12-11 11:03:48 289

转载 10.整体了解storm:概念、组件、场景、代码实现

问题导读1.什么是storm?2.storm包含哪些组件?3.storm场景有哪些?简单和明了,Storm让大数据分析变得轻松加愉快。当今世界,公司的日常运营经常会生成TB级别的数据。数据来源囊括了互联网装置可以捕获的任何类型数据,网站、社交媒体、交易型商业数据以及其它商业环境中创建的数据。考虑到数据的生成量,实时处理成为

2015-12-11 11:02:56 648

转载 9.关于Strom on Yarn的问题

为什么要将storm运行在yarn上?如何将storm运行在yarn上?Strom on yarn需要注意哪些问题?   1. 背景知识(1)Storm:一个实时计算框架,与MapReduce离线计算框架互补,分别用于解决不同场景下的问题,Storm的官方网站是:http://storm-project.net/,如果想快速了解,推荐阅读淘宝的这篇文

2015-12-11 11:02:08 533

原创 8.storm中不同的流分组方式

packagebacktype.storm.topology;importbacktype.storm.generated.GlobalStreamId;importbacktype.storm.generated.Grouping;importbacktype.storm.grouping.CustomStreamGrouping;importback

2015-12-11 11:01:09 944

原创 7.虚拟机搭建Storm"真"分布式环境心的得

搭建过程全过程拆分为:zookeeper搭建+storm搭建zookeeper搭建:参考zookeeper笔记中的分布式搭建(2.安装及配置介绍)+storm搭建:参考文中底部的拓展链接(3.mac上的开发者环境的安装部署)分别为主节点和子节点启动服务的简单脚本master.sh:#!/bin/bash# 启动mast

2015-12-11 11:00:03 657

原创 6.storm开发结合eclipse下的maven

1.现在的eclipse中集成了maven,先去apache下载maven,然后配置下环境变量2.在eclipse中设置下关联到本地的maven软件包路径3.新建项目,此时选择other找到maven的project,然后输入相关配置4.这里需要手动找到常用工作目录,不用打勾5.选择默认

2015-12-11 10:59:16 331

原创 5. storm常用命令(客户端storm shell)

Commands:activate classpathdeactivatedev-zookeeper drpchelpjar killlistlocalconfvalue logviewernimbusrebalance remoteconfvaluereplshell supervisoruiversionHelp:helphe

2015-12-11 10:58:01 722

原创 4.storm中的拓扑示例(进程/线程/任务)

下面定义一个名为 mytopology 的拓扑,由一个 Spout 组件(BlueSpout)、两个 Bolt 组件 (GreenBolt 和 YellowBolt)共 3 个组件构成。Config conf = new Config(); conf.setNumWorkers(2); // 使用两个工作进程topologyBui

2015-12-11 10:57:02 559

原创 3.mac上的storm开发者环境的安装部署

storm的安装依赖 python、zookeeper等,因为mac下已经有python了,这里只需要安装storm和zookeeper即可;1、下载storm的release版本, 解压,并且把bin/目录加到环境变量PATH里面去。    vim /etc/profile     #set storm 

2015-12-11 10:56:07 611

原创 2.storm原理和概念详述

Storm集群结构     1.Nimbus 和Supervisors 之间所有的协调工作是通过 一个Zookeeper 集群。2.Nimbus进程和 Supervisors 进程是无法直接连接和无状态的;  所有的状态维持在Zookeeper中或保存在本地磁盘上。这意味着你可以 kill -9 Nimbus 或Supervisors 进程,而不需要做备份。这种设计导致st

2015-12-11 10:55:17 417

原创 1.storm入门简介

Storm是什么?Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。(全量|增量     硬盘|内存     离线|实时)随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统(高频交易、股票)等等,大数据实时处理解决方案(流计算)的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Sto

2015-12-11 10:54:12 390

原创 10.java的正则表达式的简记

(1)过滤出字母的正则表达式:  [^(A-Za-z)](2) 过滤出 数字 的正则表达式: [^(0-9)](3) 过滤出 中文 的正则表达式 : [^(\\u4e00-\\u9fa5)](4) 过滤出字母、数字和中文的正则表达式:  [^(a-zA-Z0-9\\u4e00-\\u9fa5)]众所周知,在程序

2015-12-11 10:51:31 262

原创 5.IO流系统详解

Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符、字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组。Java 内用 Unicode 编码存储字符,字符流处理类负责将外部的其他编码的字符流和 java 内 Unicode 字符流之间的转换。而类 InputStreamReader 和 OutputStre

2015-12-11 10:50:34 217

原创 4.毕向东_集合框架总结

1.基本概要集合框架:Map+Collection---->用集合干嘛?面向对象的事物使用对象&&对象存储使用集合---->几种遍历的方式:1.传统for:可以定义角标,比较完善。2.高级for:只能获取元素 不能对集合进行操作3.迭代器:除了遍历至少还可以remove集合中元素的动作 listiterator可以在遍

2015-12-11 10:49:33 804

原创 3.毕向东_贴图

传参:数据结构:io基础:io流:

2015-12-11 10:48:31 257

原创 2-2.java内存分析

Java虚拟机 运行时数据区Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随线程的开始和结束而创建和销毁。Java虚拟机所管理的内存将会包括以下几个运行时数据区域 程序计数器(Pr

2015-12-11 10:47:36 223

转载 2-1.毕向东_栈,堆,方法区的理解

Java代码public class AppMain//   运行时, jvm 把appmain的信息都放入方法区    {    public static void main(String[] args)  //main 方法本身放入方法区。    {    Sample test1 = new  Sample( " 测试1 " );   //test1是引用,所以放到栈区里, Sample是...

2015-12-11 10:46:59 330

转载 1-2.基础面试总结

面向对象面向对象(OOP)的三个特征:1. 封装(根源和最根本的属性)2. 继承3. 多态类与对象面向对象的编程思想力图使在计算机语言中事物的描述与现实世界中该事物的本来面目尽可能地一致,类(Class)和对象(Object)就是面向对象方法的核心概念。类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,是具体的,因为也称实例(Instanc

2015-12-11 10:46:14 229

转载 1-1.java基础总结

Java基础知识总结写代码:1,明确需求。我要做什么?2,分析思路。我要怎么做?1,2,3。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。demo4,该技术什么时候用?test。---------

2015-12-11 10:44:57 566

原创 README

所有博客正在迁移,将印象笔记中的离线笔记,分批迁移中。

2015-12-11 10:43:09 221

原创 14.bash中 2>&1 & 的解释

1、首先,bash中0,1,2三个数字分别代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO,即标准输入(一般是键盘),标准输出(一般是显示屏,准确的说是用户终端控制台),标准错误(出错信息输出)。2、输入输出可以重定向,所谓重定向输入就是在命令中指定具体的输入来源,譬如 cat 1.txt将ls的结果从标准输出重定向为1.txt文本。有时候会看到如

2015-12-11 10:37:57 200

原创 13.工作命令汇集

nohup命令用途:LINUX命令用法,不挂断地运行命令。   语法:nohup Command [ Arg ... ] [ & ]   描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and

2015-12-11 10:37:06 165

原创 12.ftp的vsftpd服务安装

本文的任务是创建虚拟账户,第一个账户(likang)拥有可读写指定目录文件、不可登陆系统权限,新建一个虚拟用户并且合理分配权限、绑定目录,这和IDC商的虚拟主机效果是一样的。为了方便,直接采用的 Root 账户操作。1.安装 Vsftpd 程序,为了方便我们采用以下方式进行自动安装yum install -y vsftpd

2015-12-11 10:36:18 412

原创 11.iptables防火墙设置

常见的两个表即:“filter”与“nat”iptables 指令语法如下:iptables[-t table]  command  [match]  [target]command选项 :-A chain:在chain中增添一条规则-D chain:在chain中删除一条规则-I  chain:在指定的位置插入1条规

2015-12-11 10:35:24 229

原创 10.DNS服务器搭建

1.yum安装bind相关软件yum install bind* (ps:后有拓展)2.关闭防火墙service iptables stop3.启动named服务service named start4.修改主配置(vi /etc/named.conf) :5.创建正向区域文件(vi /var/named/likang.com

2015-12-11 10:33:44 308

空空如也

空空如也

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

TA关注的人

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